这个使用solr的edismax可以解决,方法如下: 使用edismax,在q里写完 name:北京xxxxx饭店后 在Raw Query Paramters参数里面写 defType=edismax 然后查询即可,mm是最小匹配的数量,可以是个固定的值,也可也是个百分比,因为散仙是在solr的admin页面查询,所以需要把%替换成url字符%25,这样才能正确发送到solr的服务端 具体的资料请看: edismax
Should Match)来灵活控制查询策略 举个例子: 北京奇虎科技有限公司 使用IK最细粒度分词后内容:北京/奇虎/科技/有限公司/有限/有/限/公司 我们可以通过defType=edismax
兰州顶津食品有限公司++OR+sname:"兰州顶津食品有限公司"^10+OR+oldName:兰州顶津食品有限公司 +&wt=javabin&fq=&version=2&rows=10&defType=edismax
如下表所示: 参数 描述 dismax 析取最大查询解析器 edismax 扩展的析取最大解析器 hl 搜索结果高亮 facet 分面 spatial 地理空间搜索,如:基于位置距离的排序 spellcheck
参考: https://lucene.apache.org/solr/guide/7_4/configuring-logging.html#configuring-logging 3.默认情况下,eDisMax 如果defType = edismax,q = {!myparser ...}不起作用,就将所需的查询解析器放入defType参数中。 如果deftype = edismax,hl.q = {!
– Query settings –> <str name=”defType”>edismax</str> <str name=”qf”> text