_id 字段编辑

每个文档都有一个 _id 用于唯一标识它,该 ID 被索引以便可以使用 GET APIids 查询 查找文档。 _id 可以是在索引时分配的,也可以由 Elasticsearch 生成唯一的 _id。此字段在映射中不可配置。

_id 字段的值可以在诸如 termtermsmatchquery_string 之类的查询中访问。

resp = client.index(
    index="my-index-000001",
    id="1",
    body={"text": "Document with ID 1"},
)
print(resp)

resp = client.index(
    index="my-index-000001",
    id="2",
    refresh="true",
    body={"text": "Document with ID 2"},
)
print(resp)

resp = client.search(
    index="my-index-000001",
    body={"query": {"terms": {"_id": ["1", "2"]}}},
)
print(resp)
response = client.index(
  index: 'my-index-000001',
  id: 1,
  body: {
    text: 'Document with ID 1'
  }
)
puts response

response = client.index(
  index: 'my-index-000001',
  id: 2,
  refresh: true,
  body: {
    text: 'Document with ID 2'
  }
)
puts response

response = client.search(
  index: 'my-index-000001',
  body: {
    query: {
      terms: {
        _id: [
          '1',
          '2'
        ]
      }
    }
  }
)
puts response
{
	res, err := es.Index(
		"my-index-000001",
		strings.NewReader(`{
	  "text": "Document with ID 1"
	}`),
		es.Index.WithDocumentID("1"),
		es.Index.WithPretty(),
	)
	fmt.Println(res, err)
}

{
	res, err := es.Index(
		"my-index-000001",
		strings.NewReader(`{
	  "text": "Document with ID 2"
	}`),
		es.Index.WithDocumentID("2"),
		es.Index.WithRefresh("true"),
		es.Index.WithPretty(),
	)
	fmt.Println(res, err)
}

{
	res, err := es.Search(
		es.Search.WithIndex("my-index-000001"),
		es.Search.WithBody(strings.NewReader(`{
	  "query": {
	    "terms": {
	      "_id": [
	        "1",
	        "2"
	      ]
	    }
	  }
	}`)),
		es.Search.WithPretty(),
	)
	fmt.Println(res, err)
}
# Example documents
PUT my-index-000001/_doc/1
{
  "text": "Document with ID 1"
}

PUT my-index-000001/_doc/2?refresh=true
{
  "text": "Document with ID 2"
}

GET my-index-000001/_search
{
  "query": {
    "terms": {
      "_id": [ "1", "2" ] 
    }
  }
}

_id 字段上进行查询(另请参见 ids 查询

_id 字段在聚合、排序和脚本中受限。如果需要对 _id 字段进行排序或聚合,建议将 _id 字段的内容复制到另一个启用了 doc_values 的字段中。

_id 的大小限制为 512 字节,更大的值将被拒绝。