我使用lucene.net 3.0.3来索引每个文档的文字,excel-等。文档和一些自定义字段。
如果我索引一个名称的字段 “标题” 作为 field.index.not_analyzed Lucene-Index以正确的形式存储了该字段。孔标题存储在一个令牌中。这就是我想要的。

例如 文件标题是“ Lorem Ipsum Dolor”
Lucene-Index中的字段:“ Lorem Ipsum Dolor”

如果我在此字段中使用精确搜索进行搜索,则不会获得结果。
我的搜索项看起来像: 标题:“ Lorem Ipsum Dolor”
为了搜索,我使用相同的standardanalzer。

为什么我找不到文档?

有帮助吗?

解决方案

StandardAnalyzer 对白道和其他定界人士很敏感。也就是说,它将搜索术语归为三个令牌:

( Lorem, ipsum, dolor )

但是你索引字段 title 使用 Field.Index.NOT_ANALYZED 因此,上面的三个令牌都无法匹配该领域的单个令牌:

( Lorem ipsum dolor )

利用 KeywordAnalyzer, ,将整个字段值作为单个令牌化。与往常一样,您需要使用相同的分析仪进行索引和搜索。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top