推荐搜索
所谓的推荐搜索就是当我们根据条件搜索的时候,因为单词的拼写错误,但是无法搜索出结果,那么ElasticSearch
会给出一定的搜索建议,通过sugguest
来实现。
GET movies/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"title":"beautiful Minx" # 搜索内容
}
},
{
"match": {
"genre":"drama"
}
}
]
}
},
"suggest": {
"title-suggest": { # 搜索的建议名,随意命名即可
"text": "beautifu Minx",# 搜索内容
"term": {
"field": "title",
"suggest_mode": "missing" # 建议模式有三种,missing、popular、always
}
},
"genre-suggest": {
"text": "drama",
"term": {
"field": "genre",
"suggest_mode": "missing"
}
}
}
}
针对给定的搜索内容
要和建议命名内的搜索内容
保存一致,如果无法搜索出结果,则给出推荐搜索的单词或者语句。
suggest_mode 的三种模式:
- missing:当词典中没有找到对应的索引信息,才去推荐。
- popular:即使我们去搜索一个被索引了的单词,但是还是会去给我们推荐类似的但是出现频率很高的词。
- always:无论在任何情况下,都给出推荐。
本文由 guoxiaorui 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Aug 28, 2020 at 11:48 pm