有很多文章讨论弹性搜索中的倒排索引和倒排列表。但我没有找到任何文章解释elasticsearch如何通过doc id查找文档内容。有人可以向我解释一下吗?谢谢。
Mie*_*iek 10
拉加夫是正确的。不过,我确实有一些补充可以帮助您处理文档 ID。
当您索引没有 ID 的文档时,ElasticSearch 会为您生成 ID。该字段名称是“_id”。
如果您知道要查找的文档的 Id 值,则可以简单地执行如下查询:
GET my_index/_search
{
"query": {
"terms": {
"_id": [ "1", "2" ]
}
}
}
Run Code Online (Sandbox Code Playgroud)
https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-id-field.html
上述查询将返回 _id 等于 1 OR 2 的文档。
正如 Ragav 在他的回答中所说,如果您按照 id 1 或 2 描述的方式创建文档,您将使用我从 ElasticSearch 文档中提取的示例查询返回它们。
希望这可以帮助。
小智 3
Elasticsearch 构建在Lucene之上。当您将新文档索引到 Elasticsearch 时,它会将 _index、_type 和 _id 与实际内容 (_source) 一起索引为文档的一部分。
因此,当您尝试使用 get API _index/_type/_id 获取文档时,它基本上会转换为搜索与 _index、_type 和 _id 匹配的文档的查询。
这就是 Elasticsearch 向您返回文档的方式。
| 归档时间: |
|
| 查看次数: |
15887 次 |
| 最近记录: |