ID
フィールドを1つ追加しましたが、STORE NO
フィールドには一意のIDのみが含まれます。NOT ANALYZED
index.ID
IN
クエリを使用したい。たとえば、インデックスで検索してID 1、2、3、4のドキュメントのみが必要な場合は、スペース1 234でIDを区切るQueryParserを試しました。
それは私に与えます。しかし、もっと速くて実行可能な他の方法はありますか?
ID
フィールドを1つ追加しましたが、STORE NO
フィールドには一意のIDのみが含まれます。NOT ANALYZED
index.ID
IN
クエリを使用したい。たとえば、インデックスで検索してID 1、2、3、4のドキュメントのみが必要な場合は、スペース1 234でIDを区切るQueryParserを試しました。
それは私に与えます。しかし、もっと速くて実行可能な他の方法はありますか?
この質問を見ると、IN
演算子を実装する他の方法がいくつかあります。
デフォルトでは、Lucene.Net
(スペースで区切られた用語) に渡されるすべての用語は OR されます。実行中、
Id: 1 2 3 4
渡された ID のいずれかに一致するすべてのドキュメントを返します。
次のようなものを使用できます。
var collection = new[] { "1", "2", "3", "4" };
var query = new QueryParser(version, propertyName, analyzer)
.Parse(string.Join(" ", collection));
演算子として用語のリストを Lucene.Net に渡しIN
ます。