2012-08-08 10 views
17

Solr結果セットから文書IDのセットを除外するにはどうすればよいですか?Solrで照会しないでください。

/select?q=tag_id:367 AND NOT id:(306670,302209)

のような基本的なものは、私はそれを試してみましたが、それは、それらのidを持つ文書を排除するものではありません。

答えて

20

これを試してください:あなたが出て構築-id:302209あなたがIDを排除するすべての時間を追加することなく、好きなだけIDを追加できるようにする必要があり

/select?q=*:*&fq=tag_id:367 AND id:[* TO *] -id:(306670 302209) 

。その逆も当てはまります。-+に入れ替えて、値の配列もそこに置くことができます。

+0

'q = *:*'形式を示唆するためのThx。あなたがまだ提案しているのは、idの306670と302209の文書を除外しませんでしたが、これは:/ select?q = *:*&fq = tag_id:367 AND -id:306670 AND -id:302209'です。 parantheses機能は私のために働いていません。 – arun

+1

何らかの理由でコンマを追加した可能性があります。スペースで区切ってみてください。コードを更新します。 – harmstyler

+0

うん、スペースは働いた。どうも! – arun

8

は、一つの解決策が見つかりました:

/select?q=tag_id:367&fq=-id:306670 AND -id:302209 

これはしかし、それを行うための最善の方法であるかどうかわかりません!

+0

これはやり方です。id:-306670 -302209 – Ansari

+0

Thxで確認することもできます。しかし、代わりの構文は、私のためにorg.apache.lucene.queryParser.ParseExceptionを投げています。 – arun

+0

デフォルトの検索フィールドが 'id'に設定されていない可能性があります。 – Ansari

関連する問題