执行“实时”获取时是否可以检索“文本”字段?
当我执行/ 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"/>
答案 0 :(得分:0)
按照上面的链接,实时获取依赖于更新日志功能。因此,您将获得该ID的最新文档。因此,如果您上次建立索引的过程缺少 text 字段,则实时获取不会返回该字段。
检查以下屏幕截图。