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

时间:2012-10-19 09:41:39

标签: lucene.net synonym phrase

我使用的是同义词分析器,但这只会为单个单词添加同义词。是否有类似的短语分析器或有没有人知道添加短语同义词的任何其他方式?例如,“大苹果”应该会为“纽约”赢得一个热门。

感谢。

1 个答案:

答案 0 :(得分:2)

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

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

另一种(更高效的方式)是使用MultiPhraseQueries而不是布尔PhraseQueries。这取决于你的布尔查询有多复杂......我发现在我的情况下两者都很快。

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