lucene.net - 短语同义词分析器Lucene.net?

标签 lucene.net synonym phrase

我正在使用同义词分析器,但这只会添加单个单词的同义词。是否有类似的短语分析器,或者有人知道添加短语同义词的任何其他方法吗?例如,“The Big Apple”应该返回“New York”的匹配结果。

谢谢。

最佳答案

您显然可以构建自己的分析器...我构建了一个同义词分析器,它采用单个单词并匹配多个单词...自定义开发。

我建议在查询构建或解析期间动态注入(inject)同义词,而不是这样做。例如,您可以让人搜索“The Big Apple”... 1)检查短语“The Big Apple”的同义词短语 2) 如果存在同义词短语,则使用 2 个 PhraseQueries“The Big Apple”和“New York”构建 bool 查询。

另一种(性能更高的方法)是使用 MultiPhraseQueries 而不是 bool PhraseQueries。这取决于您的 bool 查询的复杂程度...我发现在我的情况下两者都运行得非常快。

这样做的缺点是搜索速度会慢一些。好处是它是完全动态的,如果您配置/更改同义词,不需要重建索引。如果您有一个 Multi-Tenancy 解决方案,其中每个客户端可以有不同的同义词,那么它也是完美的。

关于lucene.net - 短语同义词分析器Lucene.net?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12971495/

相关文章:

java - 解析 JSON 响应

asp.net - 何时使用 Lucene.NET 更新索引?异步与否?

c# - 加载lucene索引中的一个字段

lucene - 使用 Lucene 的提示/建议

java - Lucene 中的 WordnetSynonymParser

nlp - NLTK 字网 : lemma_names vs similar_tos

甲骨文 9i : Synonymed Table Does Not Exist?

algorithm - 词组树成数组

.net - 如何按相关性和 Lucene.net 中的另一个字段对搜索结果进行排序

namespaces - Phraseapp 标签配置