在 Solr 上使用 pf2二元组

问题描述

Solr 8.0

查询paulo maluf posse

pf2: myfield^2

ps2: 1

文档(myfield):

ORDEN O 总督 Paulo Salim Maluf quando participava da posse

我希望 solr 提升这个字段,因为它包含“Paulo Salim Maluf”(p2: 1 允许额外的词之间)。尽管术语 possemaluf 相距不止 1 个单词。换句话说,如果 2 个单词彼此接近,我需要提升该字段,即使查询中还有另一个不接近的单词。

但这并没有提升。

查询解释是这样的:

(+disjunctionMaxQuery(((myfield:"(paulo paul) maluf"~1)^2.0 +disjunctionMaxQuery(((myfield:"maluf (posse poss)"~1)^2.0**

我认为这就是问题所在,因为 "maluf (posse poss)"~1错误的。

我需要它像

(+disjunctionMaxQuery(((myfield:"(paulo paul) maluf"~1)^2.0 OR disjunctionMaxQuery(((myfield:"maluf (posse poss)"~1)^2.0

responseHeader'=>{
'status'=>0,'QTime'=>238,'params'=>{
  'df'=>'_text_','hl'=>'false','echoParams'=>'all','q.op'=>'AND','ps2'=>'2','defType'=>'edismax','qf'=>'
    myfield^2
  ','sow'=>'true','facet.threads'=>'-1','wt'=>'ruby','stopwords'=>'true','_'=>'1614096732487','mm'=>'3<80%','q.alt'=>'*:*','sort'=>'score desc','rows'=>'30','spellcheck.maxEdits'=>'2','spellcheck.extendedResults'=>'true','spellcheck.minPrefix'=>'1','q'=>'paulo maluf posse','facet.limit'=>'-1','spellcheck'=>'false','spellcheck.accuracy'=>'0.6','spellcheck.onlyMorePopular'=>'true','spellcheck.count'=>'5','facet.mincount'=>'1','pf2'=>'myfield^2,'facet'=>'true','debugQuery'=>'on','spellcheck.collate'=>'true'}},

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)