ubuntu で solr-4.3.1 を使用しており、jetty で solr を起動しています。カスタム schema.xml があり、クエリのすべてのフィールドがその中にあります。私のコレクション「collection1」は、いくつかのフィールドでデータをグループ化し、使用する8つのシャードで構成されています:
http://solr-node1:8983/solr/collection1/select/?q=*:*&group=true&group.field=rgn_str
Solr は正解して結果を提供しますが、group.queryを使用しようとすると
http://solr-node1:8983/solr/collection1/select/?q=*:*&group=true&group.query=rgn_str:test
エラー「シャード 7 はソート フィールド値を設定しませんでした (FieldDoc.fields は null)。各シャードの IndexSearcher.search に fillFields=true を渡す必要があります」
solr のドキュメントでは、このパラメーターを指定する方法が見つかりませんでした。どうやってするの?
問題を繰り返すには、次の手順を実行します
- SolrCloud (4.3.1 デフォルト構成) の node1 を開始します (java -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -DzkRun -jar start.jar)。
- collection1 にインポート -> shard1 一部のデータ
- node1:8983/solr/collection1/select?q= : &group=true&group.query=someFiled:someValue などの group.query を試してください。インデックス データにヒットすることが重要です。
- 結果、エラーなし
- SolrCloud の node2 を起動します (java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar)。
- ノード 2 で、コレクション 1 -> シャード 2 の新しいコアを追加します。デフォルトのコア「collection1」アンロード。2 つのシャードに対して 1 つのコレクションがあります。Shard1 - データあり、shard2 - データなし。
- もう一度 group.query node1:8983/solr/collection1/select?q= : &group=true&group.query=someFiled:someValue を試してください。
- エラー: シャード 0 はソート フィールド値を設定しませんでした (FieldDoc.fields は null)。各シャードの IndexSearcher.search に fillFields=true を渡す必要があります