繁体   English   中英

Solr返回的JSON

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM