_id フィールド
各ドキュメントには、_id
があり、これにより一意に識別されます。このフィールドはインデックスされているため、GET API または ids
クエリ を使用してドキュメントを検索できます。_id
はインデックス作成時に割り当てることも、Elasticsearch によって一意の _id
を生成することもできます。このフィールドはマッピングで設定できません。
_id
フィールドの値は、term
、terms
、match
、および query_string
のようなクエリでアクセス可能です。
Python
resp = client.index(
index="my-index-000001",
id="1",
document={
"text": "Document with ID 1"
},
)
print(resp)
resp1 = client.index(
index="my-index-000001",
id="2",
refresh=True,
document={
"text": "Document with ID 2"
},
)
print(resp1)
resp2 = client.search(
index="my-index-000001",
query={
"terms": {
"_id": [
"1",
"2"
]
}
},
)
print(resp2)
Ruby
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
Go
{
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)
}
Js
const response = await client.index({
index: "my-index-000001",
id: 1,
document: {
text: "Document with ID 1",
},
});
console.log(response);
const response1 = await client.index({
index: "my-index-000001",
id: 2,
refresh: "true",
document: {
text: "Document with ID 2",
},
});
console.log(response1);
const response2 = await client.search({
index: "my-index-000001",
query: {
terms: {
_id: ["1", "2"],
},
},
});
console.log(response2);
コンソール
# 例のドキュメント
PUT my-index-000001/_doc/1
{
"text": "ID 1 のドキュメント"
}
PUT my-index-000001/_doc/2?refresh=true
{
"text": "ID 2 のドキュメント"
}
GET my-index-000001/_search
{
"query": {
"terms": {
"_id": [ "1", "2" ]
}
}
}
_id フィールドでのクエリ (詳細は ids クエリ を参照) |
_id
フィールドは、集計、ソート、およびスクリプトでの使用が制限されています。_id
フィールドでのソートまたは集計が必要な場合は、_id
フィールドの内容を doc_values
が有効な別のフィールドに複製することをお勧めします。
_id
は512バイトに制限されており、それ以上の値は拒否されます。