繁体   English   中英

如何使用dismax或edismax增强SOLR中的查询?

[英]How can I use dismax or edismax to boost a query in SOLR?

我是SOLR的新手,请多多包涵。 因此,世界各地有很多酒店,您可以从任何位置搜索它们。 例如,东京可能有一家旅馆,而我可能正在伦敦甚至东京或纽约寻找这家旅馆。

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

我到目前为止的查询是这样(不起作用):

q=&fl=*&rows=1&sort=query({!qf=market v='GB'}) desc,
totalPrice asc
&fq=hotelCheckInDate:[2014-02-20T00:00:00.000Z TO 2014-07-20T23:59:59.9999Z] 
AND hotelCityCode:PAR

我可以轻松地做一个market: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 这意味着,即使有多个结果,您也只会得到一个结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM