3

如何使用 solr dismax 处理程序指定类似“java with(开发人员或程序员)”的查询...

它适用于 solr 标准处理程序,但不适用于 dismax

4

3 回答 3

2

dismax 的默认值为 OR(可选),如果您希望条款是强制性的,您必须在它们前面添加一个加号。因此,假设您的查询必须包含“java with”之类的“+java +with developer程序员”应该可以工作。

mm 用于设置必须匹配的可选子句的数量。默认值为 100%,因此这可能需要进行一些调整才能得到您想要的结果。有一些例子可以在这里找到

于 2010-06-25T21:31:06.150 回答
0

这可能有点离题,但似乎程序员和开发人员的词是同义词,最好放在同义词文件中,有效地消除对“程序员或开发人员”类型语句的需求。否则,调整最小值应该匹配是最接近的事情。最好的方法是使用 EDISMAX 切换到新版本的 solr,因为它将支持标准和 dismax 语法。

于 2011-09-10T03:49:19.680 回答
0

您必须了解 dismax 并非旨在处理此类查询。Dismax 支持 Lucene QueryParser 语法的简化版本。使用它时,它只允许用户提供关键字,而不用担心语法。

您可以在此处找到有关 dismax 的更多详细信息。请注意有关允许使用 dismax 模拟布尔查询的 mm 参数的部分。

于 2010-06-25T14:12:15.843 回答