[英]JSON returned by Solr
我正在使用Solr来索引我的数据。
通过Solr的用户界面,我在Schema窗口中添加了两个字段:word,messageid
在我发出以下查询帖子后:
curl -X POST -H "Content-Type: application/json" 'http://localhost:8983/solr/messenger/update.json/docs' --data-binary '{"word":"hello","messageid":"23523}'
我收到以下JSON:
{
"responseHeader": {
"status": 0,
"QTime": 55
}
}
当我转到API中的“查询窗口”并执行不带参数的查询时,我得到以下JSON:
{
{
"responseHeader": {
"status": 0,
"QTime": 0,
"params": {
"q": "*:*",
"indent": "on",
"wt": "json",
"_": "1488911768817"
}
},
"response": {
"numFound": 1,
"start": 0,
"docs": [
{
"id": "92db6722-d10d-447a-b5b1-13ad9b70b3e2",
"_src_": "{\"word\":\"hello\",\"messageid\":\"23523\"}",
"_version_": 1561232739042066432
}
}
}
}
我的JSON是否应该看起来更像以下内容?:
//More Code
"response": {
"numFound": 1,
"start": 0,
"docs": [
{
"id": "92db6722-d10d-447a-b5b1-13ad9b70b3e2",
"word": "hello",
"messageid": "23523",
"_version_": 1561232739042066432
}
//More Code
为了以后能够通过以下选项使用参数进行过滤?:
事实证明您正在使用所谓的“自定义JSON索引”方法, 在此进行介绍。 您可以按照Wiki中的描述进行调整,以提取所需的字段。 以下摘录供您参考:
split :定义将输入JSON拆分为多个Solr文档的路径,如果单个JSON文件中包含多个文档,则需要此路径。 如果整个JSON构成一个solr文档,则路径必须为“ /”。 可以通过使用管道(|)分隔多个拆分路径来传递多个拆分路径,例如:split = / | / foo | / foo / bar。 如果一个路径是另一个路径的子级,则它们会自动成为子级文档
f :这是一个多值映射参数。 该参数的格式为target-field-name:json-path。 json-path是必需的。 target-field-name是Solr文档的字段名,并且是可选的。 如果未指定,它将自动从输入JSON派生。默认目标字段名称是该字段的标准名称。 可在此处使用通配符,有关更多信息,请参见下面的“通配符”部分。
但是我建议使用索引文件的标准方法,这是从这里开始的旧的好update
命令。 因此它看起来更像:
curl 'http://localhost:8983/solr/messenger/update?commit=true' --data-binary '{"word":"hello","messageid":"23523}' -H 'Content-type:application/json'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.