Search 如何使用Demax或eDiscoveryMax在SOLR中增强查询?

Search 如何使用Demax或eDiscoveryMax在SOLR中增强查询?,search,solr,edismax,dismax,solr-boost,Search,Solr,Edismax,Dismax,Solr Boost,我是新来SOLR的,所以请容忍我。因此,在世界上不同的国家有很多酒店,你可以在任何地点搜索它们。例如,东京可能有一家酒店,我可能在伦敦甚至东京本身或纽约寻找这家酒店 我试图创建的查询是搜索一家酒店,并根据我所在的市场/国家返回该酒店,但也返回来自不同市场/国家的结果。例如,如果我在英国,市场将是GB,它将返回基于GB的结果,GB应在结果中排名最高,同时包括其他市场,如JP(日本),但其结果排名较低 到目前为止,我的疑问是(这不起作用): 我可以很容易地做一个市场:GB,但这只会返回GB市场 我应

我是新来SOLR的,所以请容忍我。因此,在世界上不同的国家有很多酒店,你可以在任何地点搜索它们。例如,东京可能有一家酒店,我可能在伦敦甚至东京本身或纽约寻找这家酒店

我试图创建的查询是搜索一家酒店,并根据我所在的市场/国家返回该酒店,但也返回来自不同市场/国家的结果。例如,如果我在英国,市场将是GB,它将返回基于GB的结果,GB应在结果中排名最高,同时包括其他市场,如JP(日本),但其结果排名较低

到目前为止,我的疑问是(这不起作用):

我可以很容易地做一个
市场:GB
,但这只会返回GB市场


我应该如何构造此查询以获得我想要的结果?

希望此查询将帮助您获得预期的结果

q=*:*&defType=edismax&bq=market:GB^2&fq=hotelCheckInDate:[2014-02-20T00:00:00.000Z TO 2014-07-20T23:59:59.9999Z] AND hotelCityCode:PAR

在查询中,您提到了
rows=1
。这意味着,即使有多个结果,您也只能得到一个结果。

我猜您也提出了类似的问题
q=*:*&defType=edismax&bq=market:GB^2&fq=hotelCheckInDate:[2014-02-20T00:00:00.000Z TO 2014-07-20T23:59:59.9999Z] AND hotelCityCode:PAR