0

私はSOLRが初めてなので、ご容赦ください。そのため、世界中のさまざまな国にたくさんのホテルがあり、どこからでも検索できます。たとえば、東京にホテルがあり、このホテルをロンドンで検索したり、東京自体やニューヨークで検索したりすることもできます。

私が作成しようとしているクエリは、ホテルを検索し、現在の市場/国に基づいてホテルを返すだけでなく、さまざまな市場/国からの結果も返すことです。たとえば、私が英国にいる場合、市場は GB であり、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 に答える