solr - dismax解析器的mm参数

Solr - mm paramter of dismax parser

我在我的一个项目中使用 Solr 5.2.1,对 dismax / edismax 解析器的 mm 参数有一些疑问。

问题:

有什么帮助吗?谢谢


@更新:

查询 url 第一个问题:

http://localhost:8983/solr/demo/select?q=new+york&start=0&wt=json&indent=true&defType=edismax&qf=title&mm=3&stopwords=true&lowercaseOperators=true

有2个词newyork,查询结果为:

所以,我猜它会在查询之前先将 mm 更改为最大项。

Answer-2: 如果没有 mm参数在查询中指定,或者作为默认值solrconfig.xml,则有效值q.op 参数(在查询中,作为 solrconfig.xml 中的默认值,或来自 schema.xml 中的 'defaultOperator' 选项)用于影响行为。所以 mm 的默认行为由 q.op 参数决定。如果 q.op 实际上是 AND,那么 mm=100%;如果 q.opOR,则 mm=1.

来自Min Number Should Match Specification Format

No matter what number the calculation arrives at, a value greater than the number of optional clauses, or a value less than 1 will never be used. (ie: no matter how low or how high the result of the calculation result is, the minimum number of required matches will never be lower than 1 or greater than the number of clauses.

这意味着所需的数量绝不会小于 1,也不会大于查询中存在的术语数。如果查询中有三个术语并且 mm 因子为五个,它仍会生成匹配项,因为术语数少于需要匹配的 optional 个术语。所有术语匹配总是会命中,因为对于少于 x 个查询术语的所有内容,它只是零匹配。