(他のフィールドの中でも)パーセンテージデータまたは値がnullの場合は-1を含む複数値フィールドを含むSolrドキュメントのセットがあります。
<doc>
...
<arr name="alpha">
<float>0.23</float>
<float>0.23</float>
<float>0.43</float>
</arr>
<arr name="beta">
<float>0.52</float>
<float>-1.0</float>
<float>0.34</float>
</arr>
<arr name="gamma">
<float>-1.0</float>
<float>-1.0</float>
<float>-1.0</float>
</arr>
...
</doc>
テストケースの完全なセットについて、複数値フィールドに特定のメンバーが含まれている、または含まれていないドキュメントを見つける必要があります。以下のクエリのいずれかを機能させることができれば、数十万から特定のドキュメントを見つけるのに非常に役立ちます。
1)特定の複数値フィールドのメンバーのいずれも特定の基準を満たさないドキュメントを見つけることができますか?(「アルファには-1に一致するメンバーがありません。」とクエリを実行すると、上記のドキュメントが返されます。)
2)特定の複数値フィールドのメンバーの少なくとも1つが特定の基準を満たしているドキュメントを見つけることができますか?(上記のドキュメントは、「アルファには少なくとも1つのメンバー>0」または「ベータには少なくとも1つのメンバー>0」を照会すると返されます。)
フィールドがスカラーではなく配列であるため、のようなクエリはalpha:[0 TO 1]
機能しないと思います。「これは不可能です」という決定的な答えは、「これがあなたのやり方です」の答えと同じくらい役に立ちます-事前に感謝します。
編集:多くの問題と同様に、答えは「仮定を再確認する」です。具体的には、ドキュメントを生成した開発者は、パーセンテージフィールドのインデックス作成をオフにしました。