我在 ubuntu 上使用 solr-4.3.1 并在码头上启动 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 为空);您必须在每个分片上将 fillFields=true 传递给 IndexSearcher.search”
solr 的文档我找不到如何指定此参数。怎么做?
要重复该问题,请执行以下操作
- 启动 SolrCloud 的 node1 (4.3.1 默认配置) (java -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -DzkRun -jar start.jar)
- 导入 collection1 -> shard1 一些数据
- 尝试 group.query 例如 node1:8983/solr/collection1/select?q= : &group=true&group.query=someFiled:someValue。命中索引数据很重要。
- 结果是,没有错误
- 启动一个SolrCloud的node2(java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar)
- 在 node2 上为 collection1 -> shard2 添加新核心。默认核心“collection1”卸载。我们有一个集合超过两个分片。Shard1 - 有数据,shard2 - 没有数据。
- 再次尝试 group.query node1:8983/solr/collection1/select?q= : &group=true&group.query=someFiled:someValue。
- 错误:分片 0 未设置排序字段值(FieldDoc.fields 为空);您必须在每个分片上将 fillFields=true 传递给 IndexSearcher.search