Solr "real time" - 如何包含"文本"字段?



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

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

当我执行搜索(/select 请求(时,返回的 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]}]
}
}

现在 get 请求: 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"/>

实时获取

根据上面的链接,实时获取依赖于更新日志功能。因此,您将获得该ID的最新文档。因此,如果您的最后一个索引过程缺少文本字段,则实时获取不会返回该字段。

检查以下屏幕截图。

实时获取和更新的屏幕截图

最新更新