0

我正在使用 Lucene.NET 3.0.3 来索引 word、excel 等文档的内容以及每个文档的一些自定义字段。
如果我将名为“title”的字段索引为Field.Index.NOT_ANALYZED,Lucene-Index 会以正确的形式存储该字段。球洞标题存储在单个令牌中。这就是我想要的。

例如 ,文档的标题是
Lucene-index 中的“Lorem ipsum dolor”字段:“Lorem ipsum dolor”

如果我在此字段中使用精确搜索进行搜索,则不会得到任何结果。
我的搜索词看起来像:title:"Lorem ipsum dolor"
对于搜索,我使用相同的 StandardAnalzer。

为什么我找不到文件?

4

1 回答 1

0

StandardAnalyzer对空格和其他分隔符很敏感。也就是说,它将搜索词标记为三个标记:

( Lorem, ipsum, dolor )

title但是您使用索引字段,Field.Index.NOT_ANALYZED因此上面的三个标记都不能匹配该字段中的单个标记:

( Lorem ipsum dolor )

使用KeywordAnalyzer,它将整个字段值标记为单个标记。与往常一样,您需要为索引和搜索使用相同的分析器。

于 2013-11-07T13:53:13.527 回答