Content という名前のフィールドで索引付けされた、次のテキストを含むドキュメントがあるとします。
The dish ran away with the spoon.
次のクエリは、そのドキュメントと一致しません。
+Content:dish +(-Content:xyz) <-- no results!
「皿」を含める必要があり、「xyz」を含めてはならないものとしてクエリを処理したい。失敗しているのは「してはいけない」部分です。
+- の組み合わせがおかしく見えることはわかっていますが、特に次のバリエーションがすべて機能することを考えると、構文的には正しいはずです。
+Content:dish +(-Content:xyz +Content:spoon) <-- this works
+Content:dish -Content:xyz <-- this works
では、なぜ機能しない+(-Content:xyz)
のでしょうか。それは設計によるものですか、それともバグですか、それとも何かが足りないだけですか? 私は Lucene.Net を使用していますが、通常の Lucene も同じように動作すると想定しています。