0

我正在使用标准分析器并使用以下代码添加要搜索的字段

                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 字段上搜索什么也不返回。

有谁知道如何解决这个问题?

干杯

翅膀

4

2 回答 2

0

实际上,现在已经通过创建 customanalyzer 解决了这个问题。但是,感谢您提供有关 solr 标记器的信息。但是不太清楚是否需要关键字标记器 - 如果您希望字段保持完整(例如 ID 字段等)并且不以任何方式更改,您只是不分析它。这应该有效,但使用标准分析仪却没有。–

于 2013-02-28T11:28:22.167 回答
0

那么您可以尝试使用 solr.KeywordTokenizerFactory 进行分析吗?

于 2012-07-05T11:23:20.107 回答