微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Solr 上使用 pf2二元组

如何解决在 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 举报,一经查实,本站将立刻删除。