dismax解析器的Solr语言 - mm参数



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

问题:

  • mm不管总输入项计数吗?文档说是的,但是当我将其设置为3,并输入单个术语时,它仍然可以获得记录,因此似乎不管总输入术语计数。
  • mm的默认值是多少?文件说它是100%,但在我的查询测试中,它似乎是1。顺便说一下,我没有在solrconfig.xmlschema.xml中找到mm的配置。

帮忙吗?Thx .


@Update:

查询第一个问题的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

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

  • 不指定mm,返回3条记录,
  • mm = 2,返回1条记录,
  • mm = 3,也返回1条记录,

所以,我猜它会在查询之前先将mm更改为max term。

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

最小编号应符合规格格式:

无论计算结果是多少,大于可选子句数目的值或小于1的值都不会被使用。(即:无论计算结果有多低或多高,所需的最小匹配数永远不会低于1或大于子句数

表示所需的数字永远不会小于1,也不会大于查询中存在的术语数。如果查询中有三个词,mm因子为5,它仍然会产生一个匹配,因为词的数量少于需要匹配的可选的词。所有的条件匹配总是会得到一个命中,否则它只是零匹配的所有查询条件少于x。

相关内容

  • 没有找到相关文章