Standard AnalyzerとElasticSearch completion suggesterを使用していますが、テキストがトークン化されていないようです。ElasticSearch completion suggester標準アナライザが動作しない
テキスト: "第1例"、 "実施例2"
検索: "EX" のdoesn: "Fiは"
検索ながら "第1例"
を返します。結果が返されない "最初の例"
Standard AnalyzerとElasticSearch completion suggesterを使用していますが、テキストがトークン化されていないようです。ElasticSearch completion suggester標準アナライザが動作しない
テキスト: "第1例"、 "実施例2"
検索: "EX" のdoesn: "Fiは"
検索ながら "第1例"
を返します。結果が返されない "最初の例"
弾性についての文書として、suggester:Completion Suggester
補完アルゴリズムは、いわゆる接頭引数である。
キーワードを送信すると、テキストの接頭辞が検索されます。
例:
検索: "Fiの" => "第1例"
検索: "秒" => "第2の例"
いますが、伸縮性を与えている場合」 Ex "で始まるテキストが見つからないため何も返しません。偉大な仕事は周りの文字列を自分でトークン化し、別のトークンフィールドにそれを置くことですTerm Suggester
:
あなたのようないくつかの他のsuggestersを試すことができます。 提案クエリで2つの候補を使用して、両方のフィールドを検索することができます。
例:
PUT /example
{
"mappings": {
"doc": {
"properties": {
"full": {
"type": "completion"
},
"tokens": {
"type": "completion"
}
}
}
}
}
POST /example/doc/_bulk
{ "index":{} }
{"full": {"input": "First Example"}, "tokens": {"input": ["First", "Example"]}}
{ "index":{} }
{"full": {"input": "Second Example"}, "tokens": {"input": ["Second", "Example"]}}
POST /example/_search
{
"suggest": {
"full-suggestion": {
"prefix" : "Ex",
"completion" : {
"field" : "full",
"fuzzy": true
}
},
"token-suggestion": {
"prefix": "Ex",
"completion" : {
"field" : "tokens",
"fuzzy": true
}
}
}
}
検索結果:
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 0,
"max_score": 0,
"hits": []
},
"suggest": {
"full-suggestion": [
{
"text": "Ex",
"offset": 0,
"length": 2,
"options": []
}
],
"token-suggestion": [
{
"text": "Ex",
"offset": 0,
"length": 2,
"options": [
{
"text": "Example",
"_index": "example",
"_type": "doc",
"_id": "Ikvk62ABd4o_n4U8G5yF",
"_score": 2,
"_source": {
"full": {
"input": "First Example"
},
"tokens": {
"input": [
"First",
"Example"
]
}
}
},
{
"text": "Example",
"_index": "example",
"_type": "doc",
"_id": "I0vk62ABd4o_n4U8G5yF",
"_score": 2,
"_source": {
"full": {
"input": "Second Example"
},
"tokens": {
"input": [
"Second",
"Example"
]
}
}
}
]
}
]
}
}
、なぜあなたは別のアナライザーを選ぶことができますか? –
はい、私はGuy Koralandのコメントに同意しています。なぜ我々は異なるアナライザを選ぶのか? – James