0

我正在尝试使用 Apache Lucene 索引进行搜索。为此,我在显示路径的字段文件路径上创建了 Lucene 索引,但未对其进行分析。

现在我无法搜索未分析的字段。是否可以在未分析的字段上进行搜索。或者有什么方法可以在分析时停止拆分要存储的单词。

4

3 回答 3

2

您可以搜索未分析的字段查询,但只有在字段值完全等于搜索词的情况下才会匹配。正如 Mindas 所提到的 - 应该使用短语查询。

如果您想搜索该字段,则需要使用正在分析的该字段重新索引您的文档。

您可以尝试使用现有的分析器/标记器(例如,在创建 IndexWriter 时设置 StandardAnalyzer)或实现您自己的分析器/标记器,使用文件分隔符作为分隔符将文件路径拆分为标记。

如果您有兴趣,Solr 的 PathHierarchyTokenizerFactory 已经将一些分层路径拆分为标记,然后再存储到索引中,这使得文件路径搜索变得更加容易。

于 2013-02-08T11:25:01.580 回答
1

是否可以搜索未分析的字段

为了搜索未分析的字段,您需要使用词组查询

或者有什么方法可以在分析时停止拆分要存储的单词

对不起,我不明白这个。如果未分析字段,则不会拆分并按原样存储。你能澄清你的问题吗?

于 2013-02-07T09:44:34.233 回答
0

Yes, you can replace standardAnalyzer by others like KeywordAnalyzer in IndexSearcher config. It will treat the field as one term for search.

于 2017-02-27T16:30:41.383 回答