類似性
Elasticsearchでは、フィールドごとにテキストスコアリングアルゴリズムまたは類似性を設定できます。similarity
設定は、デフォルトのBM25
以外のテキスト類似性アルゴリズムを選択するための簡単な方法を提供します。例えば、boolean
のようなものです。
テキストベースのフィールドタイプ、例えば text
および keyword
のみがこの設定をサポートします。
カスタム類似性は、組み込みの類似性のパラメータを調整することで設定できます。この専門的なオプションの詳細については、類似性モジュールを参照してください。
追加の設定なしでそのまま使用できる類似性は次のとおりです:
BM25
- Okapi BM25アルゴリズム。ElasticsearchおよびLuceneでデフォルトで使用されるアルゴリズムです。
boolean
- フルテキストランキングが必要ない場合に使用されるシンプルなブール類似性で、スコアはクエリ用語が一致するかどうかのみに基づきます。ブール類似性は、用語にそのクエリブーストと等しいスコアを与えます。
#### Python
``````python
resp = client.indices.create(
index="my-index-000001",
mappings={
"properties": {
"default_field": {
"type": "text"
},
"boolean_sim_field": {
"type": "text",
"similarity": "boolean"
}
}
},
)
print(resp)
`
Ruby
response = client.indices.create(
index: 'my-index-000001',
body: {
mappings: {
properties: {
default_field: {
type: 'text'
},
boolean_sim_field: {
type: 'text',
similarity: 'boolean'
}
}
}
}
)
puts response
Js
const response = await client.indices.create({
index: "my-index-000001",
mappings: {
properties: {
default_field: {
type: "text",
},
boolean_sim_field: {
type: "text",
similarity: "boolean",
},
},
},
});
console.log(response);
コンソール
PUT my-index-000001
{
"mappings": {
"properties": {
"default_field": {
"type": "text"
},
"boolean_sim_field": {
"type": "text",
"similarity": "boolean"
}
}
}
}
default_field はBM25 類似性を使用します。 |
|
boolean_sim_field はboolean 類似性を使用します。 |