solr - dismax解析器的mm参数
Solr - mm paramter of dismax parser
我在我的一个项目中使用 Solr
5.2.1,对 dismax
/ edismax
解析器的 mm
参数有一些疑问。
问题:
mm
是否不管总输入项计数?文档说是的,但是当我把它设置为3,并输入一个词时,它仍然可以得到记录,所以不管输入的总词数如何。
mm
的默认值是多少?文档说是100%
,但在我的查询测试中,它似乎是1
。顺便说一句,我没有在 solrconfig.xml
或 schema.xml
. 中找到 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个词new
和york
,查询结果为:
- 不指定
mm
,return3条记录,
mm
= 2, return 1 条记录,
mm
= 3条,还有return 1条记录,
所以,我猜它会在查询之前先将 mm 更改为最大项。
Answer-2:
如果没有 mm
参数在查询中指定,或者作为默认值solrconfig.xml
,则有效值q.op
参数(在查询中,作为 solrconfig.xml 中的默认值,或来自 schema.xml 中的 'defaultOperator' 选项)用于影响行为。所以 mm
的默认行为由 q.op
参数决定。如果 q.op
实际上是 AND
,那么 mm=100%
;如果 q.op
是 OR
,则 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 个查询术语的所有内容,它只是零匹配。
我在我的一个项目中使用 Solr
5.2.1,对 dismax
/ edismax
解析器的 mm
参数有一些疑问。
问题:
mm
是否不管总输入项计数?文档说是的,但是当我把它设置为3,并输入一个词时,它仍然可以得到记录,所以不管输入的总词数如何。mm
的默认值是多少?文档说是100%
,但在我的查询测试中,它似乎是1
。顺便说一句,我没有在solrconfig.xml
或schema.xml
. 中找到
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个词new
和york
,查询结果为:
- 不指定
mm
,return3条记录, mm
= 2, return 1 条记录,mm
= 3条,还有return 1条记录,
所以,我猜它会在查询之前先将 mm 更改为最大项。
Answer-2:
如果没有 mm
参数在查询中指定,或者作为默认值solrconfig.xml
,则有效值q.op
参数(在查询中,作为 solrconfig.xml 中的默认值,或来自 schema.xml 中的 'defaultOperator' 选项)用于影响行为。所以 mm
的默认行为由 q.op
参数决定。如果 q.op
实际上是 AND
,那么 mm=100%
;如果 q.op
是 OR
,则 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 个查询术语的所有内容,它只是零匹配。