IDフィールドを1つ追加しましたが、STORE NOフィールドには一意のIDのみが含まれます。NOT ANALYZEDindex.ID
INクエリを使用したい。たとえば、インデックスで検索してID 1、2、3、4のドキュメントのみが必要な場合は、スペース1 234でIDを区切るQueryParserを試しました。
それは私に与えます。しかし、もっと速くて実行可能な他の方法はありますか?
IDフィールドを1つ追加しましたが、STORE NOフィールドには一意のIDのみが含まれます。NOT ANALYZEDindex.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ます。