我正在尝试使用
将一个json文档放入solr核心curl -X POST -H 'Content-Type: application/json' 'http://xxxx:6083/solr/daw_index/update?commit=true' -d'
{
"add":{
"doc":{
"dataSet_s": "ORACLE",
"ruleType_s": "IF_EQUALS_THEN_EQUALS",
"enable_s": "true",
"testCaseId_s": "CASE_2",
"condition": {
"conClause": "ESLEE",
"conField": "ENGINE_RPM",
"conOperator1": "GREATER",
"conVal1": "5000",
"conVal2": ""
}
}
}
}
'
只有前四个字段在核心中添加为文档
{
"dataSet_s": "ORACLE",
"ruleType_s": "IF_EQUALS_THEN_EQUALS",
"enable_s": "true",
"testCaseId_s": "CASE_2",
"id": "9da24b8f-5766-4b72-b47b-4fea52490563",
"_version_": 1541169726491721700
}
我需要使用条件对象添加整个doc。 另外我们如何在solr中添加json对象数组
答案 0 :(得分:0)
您正在使用Solr Update JSON格式,但未正确指定子文档。他们需要object structures within an array mapped to a key called childDocuments。
你总是有一个架构。如果你运行
bin/solr create_core -h
您将看到有关实际发生情况的更多说明,包括您未自行指定的配置名称(Solr 6.1中的data_driven_schema_configs)。
您可以在管理界面的文件屏幕中看到您的实时配置。查找模式文件的 managed-schema 文件。在您的情况下,它使用后缀指定动态字段以指定正确的类型one of which is *_s以及您的发布工作的原因。如果您将子记录用于字段没有与动态字段定义匹配的扩展名,则您将触发"无模式"模式将根据solrconfig.xml中指定的规则猜测文件,并将显式添加到模式。这将触发重新创建托管架构文件(动态字段不会)。