Solr ファセット クエリをフォーマットして、2 つのページ ビュー範囲を含めるにはどうすればよいでしょうか?
以下は、範囲のみを返し、200 TO 250
範囲からは何も返しません500 to 550
。
<str name="fq">pageviews:[200 TO 250] OR [500 TO 550]</str>
ページビューが 200 から 250 の間、および 500 から 550 の間の人と一致するレコードの数を取得したいと考えています。
この質問に対する完全な回答には、これらの「繰り返される」ファセットのすべてのパラメーターを構成する方法が含まれている必要があると思います。これは、Solr 4.4.0 で JSON を使用して行う方法です。
"facet.range": [
"{!key=twohundred " +
"f.pageviews.facet.range.start=200 " +
"f.pageviews.facet.range.end=250 " +
"f.pageviews.facet.range.gap=1 " +
"}pageviews",
"{!key=fivehundred " +
"f.pageviews.facet.range.start=500 " +
"f.pageviews.facet.range.end=550 " +
"f.pageviews.facet.range.gap=10 " +
"}pageviews"
]
(配列内の各エントリは改行のない文字列であると想定されていますが、わかりやすくするためにここで分割されていることに注意してください。)
このようにして、各ファセットに個別にラベルを付けたり、変更したり (「fivehundred」のギャップを変更しました)、または他のパラメーターを追加したりできます (「facet.range.other」など)。
以下のように使用することもできます。
fq=pageviews:([200 TO 250] OR [500 TO 550])
毎回フィールドについて言及する必要があることがわかりました。
pageviews:[200 TO 250] OR pageviews:[500 TO 550]