standardanalyzerを使用して、検索するフィールドを次のコードで追加しています
doc.Add(
new Field(
"BookId",
book.CatalogueBookNo.ToString(),
Field.Store.YES,
Field.Index.NOT_ANALYZED,
Field.TermVector.NO));
doc.Add(
new Field("Title",
strTitle,
Field.Store.YES,
Field.Index.ANALYZED,
Field.TermVector.NO));
doc.Add(
new Field("Author",
strAuthor,
Field.Store.YES,
Field.Index.ANALYZED,
Field.TermVector.NO));
doc.Add(
new Field("IssueId_fk",
book.IssueId_fk,
Field.Store.YES,
Field.Index.NOT_ANALYZED,
Field.TermVector.NO));
IssueId_Fkフィールド(分析されていないためそのまま)を除くすべてのフィールドを検索できます。このフィールドには、「11_12_4」、「11_12_3」などの形式の文字列値が含まれます。
メモ帳でluceneインデックスを開いたところ、値が区切られ、アンダースコアが付いていることを確認できましたが、IssueId_Fkフィールドを検索しても何も返されません。
誰もがこれを回避する方法を知っていますか?
乾杯
羽