RavenDB で一部のデータをフィルター処理する lucene クエリを作成しようとしています。この特定のコレクション内の一部のドキュメントには連番が割り当てられており、有効な範囲は連続していません (たとえば、1 つの範囲は 100 から 200 で、別の範囲は 1000 から 1400 です)。Raven Studio (v2.5、Silverlight クライアント) を使用して RavenDB にクエリを実行し、これらのユーザー定義の範囲外の値を持つすべてのドキュメントを取得したいと考えています。
これは非常に単純化された文書構造です:
{
ExternalId: something/1,
SequentialNumber: 12345
}
テストするために、3500 個のドキュメントを追加しました。これらのドキュメントはすべて、 とのSequentialNumber
2 つの範囲のいずれかに含まれています。フィールドは親ドキュメントへの参照であり、このテストではすべてのドキュメントのフィールドが に設定されています。これは、私が思いついた Lucene クエリです。123-312
9000-18000
100000123
ExternalId
something/1
ExternalId: something/1 AND NOT
(SequentialNumber: [123 TO 321] OR SequentialNumber: [9000 TO 18000])
RavenDB の Studio でクエリを実行するSequentialNumber
と、123-321
範囲外のすべてのドキュメントが返されます。100000123
として持っているドキュメントのみを返すと思いSequentialNumber
ます。Google に助けを求めようとしてきましたが、これまでのところ、正しい方向に導くものは何も見つかりませんでした。
私は何を間違っていますか?