【发布时间】:2017-12-06 18:04:37
【问题描述】:
如果我使用包含“extrahepatisch”的查询字符串进行搜索,我不想找到带有反义词“intrahepatisch”的文档。
我有一个包含此类反义词对的列表。让elasticsearch使用反义词列表的最佳方法是什么?
【问题讨论】:
-
您正在使用什么分析器以使那些 do 匹配?这是
GermanAnalyzer吗?
标签: elasticsearch lucene
如果我使用包含“extrahepatisch”的查询字符串进行搜索,我不想找到带有反义词“intrahepatisch”的文档。
我有一个包含此类反义词对的列表。让elasticsearch使用反义词列表的最佳方法是什么?
【问题讨论】:
GermanAnalyzer吗?
标签: elasticsearch lucene
您可以使用 Querqy 插件及其Common Rules Rewriter 实现此目的。
要从结果列表中排除“intrahepatisch”,您需要如下规则:
extrahepatisch => FILTER: -intrahepatisch
如果您想保留“intrahepatisch”的结果,但希望它们具有较低的相关性分数,以便它们出现在结果列表的末尾,您可以只“否决”它们:
extrahepatisch => DOWN(20): intrahepatisch
【讨论】:
我相信您正在寻找的是使用Stop Token Filter。
【讨论】: