2017-08-15 66 views
1

看起來像彈性建議選項不會返回我所期望的。我想這是關於錯誤的參數,但我沒有看到它。彈性搜索建議操作不會返回所有可能的建議

如果body包含「TOURNAMENT」之類的詞,並且如果我爲「TOURNAME」運行建議api,那麼我會將「TOURNAMENT」作爲建議。但是,如果我爲「TOURNA」運行相同的API,我不會將「TOURNAMENT」作爲建議。

預期的行爲:

{ 
    "size": 0, 
    "suggest" : { 
      "my-sugg": { 
       "text" : "TOURNAME", 
       "term": { 
        "field" : "body", 
        "min_word_length" : "3" 

      } 
     } 
    } 
} 

我得到了預期的結果

"my-sugg": [ 
      { 
       "text": "tourname", 
       "offset": 0, 
       "length": 8, 
       "options": [ 
        { 
         "text": "tournament", 
         "score": 0.75, 
         "freq": 60 
        } 
       ] 
      } 

不期望的行爲:

如果我跑完全相同的API與上面

"my-sugg": { 
      "text" : "TOURNA": 




"suggest": { 
     "my-sugg": [ 
      { 
       "text": "tourna", 
       "offset": 0, 
       "length": 6, 
       "options": [ 
        { 
         "text": "tour’s", 
         "score": 0.6666666, 
         "freq": 5 
        }, 
        { 
         "text": "tour's", 
         "score": 0.6666666, 
         "freq": 3 
        }, 
        { 
         "text": "tour", 
         "score": 0.5, 
         "freq": 34 
        }, 
        { 
         "text": "turn", 
         "score": 0.5, 
         "freq": 2 
        } 
       ] 
      } 
     ] 

我g錯誤的結果。我想獲得「賽事」作爲一個可能的建議。任何線索?

回答

0

我想你可能與completion suggester被混合起來term suggester

第一個允許你這樣做did you mean功能,提示類似的術語,其中第二個允許你實現search as you type的功能。我認爲這就是你在這裏之後。