dismax参数用于处理用户输入的简单短语,并根据字段的重要度进行加权查询,查询范围为多个字段区域。dismax会忽略搜索字符串中的 "AND","OR", "+", "-". dismax中的详细参数默认可以在solrconfig.xml中设置。
下面详细介绍参数:
q: 原始输入字符串 |
q.alt: 调用标准查询解析器并定义q参数为空时候的输入字符串 |
qf: 查询字段,具体到哪些字段,如果缺省默认为df。例如:qf="fieldOne^2.3 fieldTwo fieldThree^0.4" |
mm: 查询最小应该匹配:mm没有定义则在solrconfig.xml中默认指定,默认为100%表示全匹配;mm为正整数指定最小匹配数量;mm为负整数指定匹配最小值减去该值;mm为百分比指定返回该相似性的所有结果;mm为负数百分比,则指定这部分可以忽略;mm为表达式如:3<90%表示:1-3是都需要的,4-是90%需要的 |
pf : phrase fields,使用同qf,主要用于增加匹配文档得分,用于区分相近的查询结果 |
ps: phrase slop,目的是获取确定的短语,ps是pf参数。ps影响增强,如果你用ps值,numFound和结果集不改变。但结果集的顺序改变。 |
qs: Query Phrase Slop: specifies the number of positions two terms can be apart in order to match the specified phrase. Used specifically with the qf parameter. |
tie: 默认为0.0的浮点数<1; |
bq: boost query 扩展的q参数 |
bf : boost function 例如:recip(rord(myfield),1,2,3)^1.5 |