Elasticsearch文档未找到。

3

我正在尝试访问一个带有_id的文档。

最近我从远程服务器导出了一个索引到我的本地服务器。

以下是我尝试获取文档的方式:

GET http://localhost:9200/dmap_product_match/dmap_product_match/ZA2JeGsBsz9baORiZSkN

相应地,回复如下:

{
    "_index": "dmap_product_match",
    "_type": "dmap_product_match",
    "_id": "ZA2JeGsBsz9baORiZSkN",
    "found": false
}

但是将文档作为查询体请求会返回该文档:
GET http://localhost:9200/dmap_product_match/_search

{
    "_source": ["s_item_name","r_item_name","human_verdict"],
    "query": {
        "term":{
            "_id": "ZA2JeGsBsz9baORiZSkN"
        }
    }
}

编辑:Elasticsearch v7.0.0


1
当您进行搜索时,返回的文档的type_id是什么? - Benjamin Trent
1
"_type": "_doc"并且_id如传递的那样; 这就回答了这个问题。但既然我卸载了整个索引,为什么_type变成了_doc - Azima
1
你能添加工作查询的结果吗?也许它会显示我们遗漏的一些细节。 - Cavaz
请问您能否添加您正在使用的Elasticsearch版本,因为这非常重要。 - Russ Cam
@RussCam,它是7.0.0版本,我现在明白了。他们已经删除了映射类型。 - Azima
1个回答

4

由于请求中文档类型未定义,ElasticSearch 无法找到您所请求的文档。

获取文档的 API 格式如下:

GET http://<host>:<port>/<index>/<type>/<docId>

根据您的请求,您正在寻找在索引dmap_product_match 和类型dmap_product_match中具有id为ZA2JeGsBsz9baORiZSkN的文档。
您的请求应该类似于:
GET http://localhost:9200/dmap_product_match/_doc/ZA2JeGsBsz9baORiZSkN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接