在schema.xml
我刚刚使用multiValued="true"
声明了一个字段有多个值但是当我看到*:*
查询的响应时,我得到{{1}内所有字段的值除[]
字段外,(表示特定字段是多值)括号。它为什么会发生任何人都可以告诉我?你可以看到我在下面得到的回应类型:
id
这就是我在 {
"id": "id1",
"name": ["name1"],
"gender": ["male"],
"number":["9898989898"]
}
中将该字段声明为多值的方式:
schema.xml
答案 0 :(得分:0)
See my previous answer。由于id
是文档的唯一关键字,因此它是默认情况下未定义为多值的少数几个字段之一,"无架构"托管架构。
由于5.x默认使用托管架构 - 如果在升级后第一次启动Solr时没有出现正确的schema.xml文件,则可能会发生这种情况。您可以使用solrconfig.xml
中的ClassicIndexSchemaFactory更改此行为。
由于Solr内部,_version_
字段是必需的 - 它必须存在于模式中,因为它用于部分更新(即其他人在您提交部件之前更新了文档) ,SolrCloud模式(哦,我已经从群集中的不同节点获得该版本)和UpdateLog(无需更新已经存在的内容)..以及可能还有一些其他功能。
另一个"魔法" field为_root_
,用于实现子文档支持。