簡體   English   中英

如何使用多個字段和不同的最小匹配項以及不同字段的增強來形成Solr edismax查詢?

[英]How to form a Solr edismax query with mutiple fields and different minimum match and boosts for different fields?

我有一個Solr索引,其中所有文檔都有三個字段-名稱,地址和other_addresses。 我想搜索一個名字叫“ Tom Cruise”並且地址為“ 3rd Avenue 23rd Floor New York,NY 10016”的人。

現在,我只想在具有某些特定提升值和最小匹配值的名稱字段中搜索名稱。 此外,還需要在address和other_addresss中搜索具有不同mm和boost值的地址。

有人可以通過Solr的任何其他方式幫助我編寫edismax查詢嗎?

我正在做類似的事情:

select?debugQuery=on&defType=edismax&fl=*%20score&mm=70%25&q=name%3A(Rita%20Suman%20Shinde%20Near)%20address%3A(Gunjan%20Talkies%20Yerwada%20Pune)%20other_addresses%3A(Gunjan%20Talkies%20Yerwada%20Pune)&qf=name%20other_addresses%20address&stopwords=true

但無法弄清楚如何給出不同的mm值。

您可以使用LocalParams組成幾個dismax查詢為一體,而且每個子查詢都可以有自己的dismax參數。 例如:

q={!dismax qf=name mm=2 v=$q1}^2.0 {!dismax qf=address1 mm=4 v=$q2}^1.5 {!dismax qf=other_address mm=4 v=$q2}^1.0
q1=Tom Cruise
q2=3rd Avenue 23rd Floor New York, NY 10016

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM