【问题标题】:Apache solr bad json response?Apache solr 错误的 json 响应?
【发布时间】:2013-06-05 12:02:10
【问题描述】:

我提出以下要求:

GET /solr/populationvars8/select?q=pob&wt=json&json.wrf=jQuery191039282788056880236_1370268228739&rows=2&hl=true&hl.fl=description_autocomplete&_=1370268228740 HTTP/1.1

响应旨在通过 jquery 自动完成来呈现。问题是“突出显示”数据被错误地返回(或者我认为)。以下是我的部分回复:

{
    "responseHeader": {
        "status": 0,
        "QTime": 29
    },
    "response": {
        "numFound": 491,
        "start": 0,
        "docs": [
            {
                "description": "Población de 70 años y más",
                "description_autocomplete": "Población de 70 años y más",
                "accesibilidad": "y"
            },
            {
                "description": "Población de 65 años y más",
                "description_autocomplete": "Población de 65 años y más",
                "accesibilidad": "y"
            }
        ]
    },
    "highlighting": {
        "": {
            "description_autocomplete": [
                "Población de 65 años y más"
            ]
        }
    }
}

问题是“突出显示”响应有一些错误的键/值对(重复的键名,因为它是空白的)。结果是,当解析这个 JSON 时,我总是得到最后一个“description_autocomplete”数据。如果您想查看实际结果是什么,可以将 JSON 代码复制粘贴到 jsonlint.com 中,它会说它是有效的,但它只会有一个“突出显示”结果。

我是在我的 solr 配置中遗漏了什么还是 solr 中的一些小错误?

注意事项:

  • schema.xml 有“unikeKey”标签(不确定这是否有帮助)
  • 字段“description_autocomplete”是另一个字段的“copyField”。
  • 通过浏览器完成上述请求时会提供完整的 json,但在解析时(选择您的工具)我只会得到一个“突出显示”结果
  • 我知道在 RFC 4627(JSON 规范)中这似乎不是有效的 json
  • 如果需要,我可以提供我的 solr 配置
  • solr 版本为 4.3.0 1477023

【问题讨论】:

  • 在您的情况下似乎缺少唯一性,这就是为什么突出显示部分没有显示 id,这将使您能够将其映射到响应?您是否填充了唯一键并将其标记为必需?
  • 确实这就是我所缺少的,独特的没有被填充。谢谢贾延德拉。
  • 酷...我可以将其添加为答案,您也接受它。

标签: json solr


【解决方案1】:

突出显示部分可以与具有唯一 ID 的相应响应相匹配。

您的情况似乎缺少唯一性,这就是为什么突出显示部分不显示 id 的原因,这将使您能够将其映射到响应。

您是否填充了唯一键并将其标记为必需?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    相关资源
    最近更新 更多