index_options
index_options
パラメータは、検索およびハイライト目的のために反転インデックスに追加される情報を制御します。 text
や keyword
のような用語ベースのフィールドタイプのみがこの設定をサポートします。
このパラメータは、以下のいずれかの値を受け入れます。各値は、前にリストされた値から情報を取得します。たとえば、freqs
は docs
を含み、positions
は freqs
と docs
の両方を含みます。
docs
- ドキュメント番号のみがインデックスされます。この用語はこのフィールドに存在しますか?という質問に答えることができます。
freqs
- ドキュメント番号と用語頻度がインデックスされます。用語頻度は、繰り返し出現する用語を単一の用語よりも高くスコア付けするために使用されます。
positions
(デフォルト)- ドキュメント番号、用語頻度、および用語の位置(または順序)がインデックスされます。位置は 近接またはフレーズクエリ に使用できます。
offsets
- ドキュメント番号、用語頻度、位置、および開始および終了文字オフセット(これにより用語が元の文字列にマッピングされます)がインデックスされます。オフセットは、統一ハイライター によってハイライトを高速化するために使用されます。
Python
resp = client.indices.create(
index="my-index-000001",
mappings={
"properties": {
"text": {
"type": "text",
"index_options": "offsets"
}
}
},
)
print(resp)
resp1 = client.index(
index="my-index-000001",
id="1",
document={
"text": "Quick brown fox"
},
)
print(resp1)
resp2 = client.search(
index="my-index-000001",
query={
"match": {
"text": "brown fox"
}
},
highlight={
"fields": {
"text": {}
}
},
)
print(resp2)
Ruby
response = client.indices.create(
index: 'my-index-000001',
body: {
mappings: {
properties: {
text: {
type: 'text',
index_options: 'offsets'
}
}
}
}
)
puts response
response = client.index(
index: 'my-index-000001',
id: 1,
body: {
text: 'Quick brown fox'
}
)
puts response
response = client.search(
index: 'my-index-000001',
body: {
query: {
match: {
text: 'brown fox'
}
},
highlight: {
fields: {
text: {}
}
}
}
)
puts response
Js
const response = await client.indices.create({
index: "my-index-000001",
mappings: {
properties: {
text: {
type: "text",
index_options: "offsets",
},
},
},
});
console.log(response);
const response1 = await client.index({
index: "my-index-000001",
id: 1,
document: {
text: "Quick brown fox",
},
});
console.log(response1);
const response2 = await client.search({
index: "my-index-000001",
query: {
match: {
text: "brown fox",
},
},
highlight: {
fields: {
text: {},
},
},
});
console.log(response2);
Console
PUT my-index-000001
{
"mappings": {
"properties": {
"text": {
"type": "text",
"index_options": "offsets"
}
}
}
}
PUT my-index-000001/_doc/1
{
"text": "Quick brown fox"
}
GET my-index-000001/_search
{
"query": {
"match": {
"text": "brown fox"
}
},
"highlight": {
"fields": {
"text": {}
}
}
}
text フィールドは、offsets がインデックスされているため、デフォルトでハイライトのためにポスティングを使用します。 |