17

Solr応答のフィルタークエリ(fq)でカンマ区切りの値を渡したいのですが、現在、複数のカテゴリを渡したい場合はOR演算子を使用しています。このように fq=categoryId:3 OR categoryId:55 OR categoryId:34

fq=categoryId:3,55,34 のような値を渡す解決策はありますか

4

2 に答える 2

28

fq=categoryId:(3 55 34)デフォルトの演算子がORの場合は機能するはずです。それ以外の場合は、試してくださいfq=categoryId:(3 OR 55 OR 34)。これは、Luceneクエリ構文ではフィールドグループ化と呼ばれます。(Solrは、ここに記載されているように、完全なLucene構文をサポートしています。)

于 2011-03-14T09:06:51.350 に答える
1

if your field for filter query is of type text or string, you can also use fq=categoryId:(IN 3 55 34 44) as well. But IN operator will not work with integer fileds or other then string/text fields.

于 2013-03-07T09:31:33.837 に答える