Solr“实时”获取-如何包含“文本”字段?

时间:2018-09-10 15:26:30

标签: indexing solr full-text-indexing

执行“实时”获取时是否可以检索“文本”字段?

当我执行/ get请求时,返回的json不包含“文本”字段的内容。

当我执行搜索(/选择请求)时,返回的json确实包含“文本”字段的内容。

下面是一个ID为123的示例:

搜索请求http://localhost:8984/solr/real/select?q=id:123返回:

{
  "responseHeader":{
    "zkConnected":true,
    "status":0,
    "QTime":4,
    "params":{
      "q":"id:123"}},
  "response":{"numFound":1,"start":0,"maxScore":9.250275,"docs":[
      {
        "id":"123",
        "filename":"SKMBT_C45212120410351.pdf",
        "file_size":1793774.0,
        "archive_date":"2012-12-04T08:38:12Z",
        "content_type":["text/plain; charset=UTF-8"],
        "_version_":1611231085639761920,
        "text":[TEXT_CONTENT]}]
  }
}

现在,获取请求:http://localhost:8984/solr/real/get?id=123返回:

{
  "doc":
  {
    "id":"123",
    "filename":"SKMBT_C45212120410351.pdf",
    "file_size":1793774.0,
    "archive_date":"2012-12-04T08:38:12Z",
    "content_type":["text/plain; charset=UTF-8"],
    "_version_":1611231085639761920
  }
}

如您所见,“文本”字段丢失。

/ get请求响应中是否可以包含“文本”字段?

请注意,在架构中,“文本”字段已正确标记为已存储:

<field name="text" type="text_general" indexed="true" stored="true"/>

1 个答案:

答案 0 :(得分:0)

Real Time Get

按照上面的链接,实时获取依赖于更新日志功能。因此,您将获得该ID的最新文档。因此,如果您上次建立索引的过程缺少 text 字段,则实时获取不会返回该字段。

检查以下屏幕截图。

Screenshot of real-time get and update