2016-08-29 9 views

答えて

2

弾性についての文書として、suggester:Completion Suggester

補完アルゴリズムは、いわゆる接頭引数である。

キーワードを送信すると、テキストの接頭辞が検索されます。

例:

検索: "Fiの" => "第1例"

検索: "秒" => "第2の例"

いますが、伸縮性を与えている場合」 Ex "で始まるテキストが見つからないため何も返しません。偉大な仕事は周りの文字列を自分でトークン化し、別のトークンフィールドにそれを置くことですTerm Suggester

+1

、なぜあなたは別のアナライザーを選ぶことができますか? –

+0

はい、私はGuy Koralandのコメントに同意しています。なぜ我々は異なるアナライザを選ぶのか? – James

0

あなたのようないくつかの他の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" 
       ] 
       } 
      } 
      } 
     ] 
     } 
    ] 
    } 
} 
関連する問題