elasticsearch 的 suggest 主要分成下面三種
- Phrase Suggester
- Term suggester
- Completion Suggester
其中 Completion Suggester
目前看起來最適合用來實做 autocomplete 功能,使用上可以搭配 category
可以
增強 autocomplete 的功能,category
能夠自行添加欄位讓開發者可以對資料進行過濾。
目前看起來有幾點要注意:
- Completion Suggester 可以透過加上 weight 調整排序。
- Completion Suggester 有 input 和 output 的欄位,可以讓多個輸入對應到單一輸輸出。
- 如果有多個 document 相同 output 那 elasticsearch 會只輸出一個。
- Category 可以參照 Elasticsearch 1.2: Adding Context to Suggestions 裡面有個使用 Category 過濾的例子。