0

我是 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 市场。

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

4

1 回答 1

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

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

于 2014-02-20T12:52:59.480 回答