私はある種のファイルストレージソフトウェアを構築しています。filesize
ファイルのメタデータは、 およびuserId
のようなフィールドで索引付けされます。
私がやりたいことは、ユーザーが使用するスペースを計算できるようにすることです。
たとえば、ドキュメントがある場合:
- ドキュメント ID = 1 | ユーザー ID = 1 | ファイルサイズ = 10
- ドキュメント ID = 2 | ユーザー ID = 2 | ファイルサイズ = 5
- ドキュメント ID = 3 | ユーザー ID = 1 | ファイルサイズ = 3
userId=1 の場合に 13MB (10+3) の結果を取得するようにクエリを実行したいと思います
FunctionQueryを実行できることを確認しましたが、探していることを実行していないようです。
グループ化された結果に対して集計関数を実行することを許可しないFieldCollapsingについても同じです。
StatsComponent もテストしましたが、不明な理由で機能しないようです。
私のスキーマには以下が含まれます:
<field name="FileSize" type="integer" indexed="false" stored="true" required="true" />
<field name="OtherField" type="sfloat" indexed="true" stored="true" required="false" />
<field name="OtherField2" type="integer" indexed="true" stored="true" required="false" multiValued="false"/>
<field name="OtherField3" type="integer" indexed="true" stored="true" required="false" multiValued="false"/>
そして、クエリを実行すると
http://mysolr:8414/solr/mycore/select/?q=docId:123
&rows=0
&stats=true
&stats.field=FileSize
&stats.field=OtherField
&stats.field=OtherField2
&stats.field=OtherField3
私は結果を返します:
<lst name="stats">
<lst name="stats_fields">
<null name="FileSize"/>
<lst name="OtherField">
<double name="min">6.0</double>
<double name="max">6.0</double>
<long name="count">1</long>
<long name="missing">0</long>
<double name="sum">6.0</double>
<double name="sumOfSquares">36.0</double>
<double name="mean">6.0</double>
<double name="stddev">0.0</double>
<lst name="facets"/>
</lst>
<lst name="OtherField2">
<double name="min">0.0</double>
<double name="max">0.0</double>
<long name="count">1</long>
<long name="missing">0</long>
<double name="sum">0.0</double>
<double name="sumOfSquares">0.0</double>
<double name="mean">0.0</double>
<double name="stddev">0.0</double>
<lst name="facets"/>
</lst>
<null name="OtherField3"/>
</lst>
</lst>
ご覧のとおり、私は単一のドキュメントの統計を求めています (これはあまり役に立ちませんが、デバッグには役立ちます。とにかく、それがなければq=docId:123
、より良い結果は返されません)。このドキュメントの FileSize は 15 に設定されています Solr 4.1 を使用しています
フィールドとの統計を取得できるのに、フィールドOtherField
とOtherField2
の統計を取得できない理由を誰か説明してもらえますか? 問題が全く見えない…FileSize
OtherField3