2012-03-08 16 views
1

Solrクエリの問題がここにあります。SQL "IN"条件のようなSolrクエリ構文

たとえば、グループチェッククエリ:「グループ1、グループ2、グループ3」のように、Solrにコンマフィールドで区切られた文字列があります。私は、 "グループ3"、 "グループ4"、 "グループ5"のような文字列のリストであるパラメータを持っています。 "グループ1、グループ2、グループ3"のドキュメントは、フィールドに "グループ3"が含まれているため、取得する必要があります。

SQL "IN"のようですが、このような条件を照会する方法はありません。 Solrは最初のクエリとしてワイルドカードを使用できません。

この問題の解決方法を教えてください。 ありがとう!

<fieldType name="text_country" class="solr.TextField" positionIncrementGap="100">

及びません:あなたはあなたのスキーマで使用している列の型があることを確認

+1

私はあなたの質問を理解することを確認していません。 "q = {!lucene} *:*&* fq = {!lucene q.op = OR} groupField:(グループ3グループ4グループ5)" – jpountz

+0

と同意し、OPはコンマSolrの-delimitedフィールドはトークン化されているか、または複数の値をとります。個人的には後者のオプション(多値文字列)が良いと思います。 –

答えて

0

作った

<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>

+0

感謝してくれてありがとう!私はカンマの代わりに空白を使ってグループを分けます。その後、クエリ 'groups:Group1 OR Group2'が動作します! –