现象:配置了权重之后,查询没有作用
配置权限是在配置文件中配置的:
<str name="defType">edismax</str>
<str name="q.alt">*:*</str>
<str name="rows">10</str>
<str name="fl">*,score</str>
<!-- <str name="pf">booktitle publisher</str>-->
<str name="pf">searchAll</str>
<str name="qf">bookTitle^1 affiliateseries^0.9 authoreditor^0.8 edition^0.7 supplierName^0.6 keyword^0.4 audience^0.2 recommendSaleGroup^0.1</str>
但是在查询的时候,如果输入的指定q是searchAll:三国,结果并没有按照这个分配来排序,原因是:
edismax查询的qf字段只有在q没有指定字段的时候才会起作用,就是作为一个默认查询时才起作用,不需要指定q的字段
如果单独指定了q,那么也需要单独指定qf查询字段的权重,比如这样 q=计算机 & qf=title^10 summary^2 就会将q扩展到title和summary这两个字段去查询,并且赋予权重
总的来说就是q中不需要指定字段,使用配置文件中默认指定的字段即可