minimum_should_match 参数
editminimum_should_match
参数
edit参数 minimum_should_match
的可能值:
Type | Example | Description |
---|---|---|
整数 |
|
指示一个固定值,无论可选子句的数量如何。 |
负整数 |
|
表示可选子句的总数减去此数量应为强制性。 |
百分比 |
|
表示总可选子句数量的这一百分比是必要的。根据百分比计算出的数值向下取整并作为最小值使用。 |
负百分比 |
|
表示总可选子句数量中可以缺失的百分比。从百分比计算出的数值会向下取整,然后再从总数中减去以确定最小值。 |
组合 |
|
一个正整数,后面跟着小于符号,再跟着之前提到的任意一个说明符,就是一个条件说明。它表示如果可选子句的数量等于(或小于)该整数,则它们都是必需的,但如果数量大于该整数,则适用该说明。在这个例子中:如果有1到3个子句,它们都是必需的,但对于4个或更多子句,只需要90%。 |
多种组合 |
|
多个条件规范可以用空格分隔,每个规范仅对大于前一个数字的数值有效。在这个例子中:如果有1或2个条件,则两者都需要;如果有3-9个条件,则除了25%的条件外都需要;如果有超过9个条件,则除了三个条件外都需要。 |
注意:
当处理百分比时,可以使用负值来在边缘情况下获得不同的行为。在处理4个条款时,75%和-25%表示相同的意思,但在处理5个条款时,75%表示需要3个,而-25%表示需要4个。
如果基于规范的计算确定不需要可选子句,搜索时仍适用关于BooleanQueries的通常规则(包含无必需子句的BooleanQuery仍必须至少匹配一个可选子句)
无论计算得出什么数字,大于可选子句数量或小于1的值永远不会被使用。(即:无论计算结果有多低或多高,所需匹配的最小数量永远不会低于1或大于子句数量。)