_id 字段
编辑_id
字段编辑
每个文档都有一个 _id
用于唯一标识它,该 ID 被索引以便可以使用 GET API 或 ids
查询 查找文档。 _id
可以是在索引时分配的,也可以由 Elasticsearch 生成唯一的 _id
。此字段在映射中不可配置。
_id
字段的值可以在诸如 term
、terms
、match
和 query_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
字段在聚合、排序和脚本中受限。如果需要对 _id
字段进行排序或聚合,建议将 _id
字段的内容复制到另一个启用了 doc_values
的字段中。
_id
的大小限制为 512 字节,更大的值将被拒绝。