是时候用 ES 拯救发际线啦

elasticsearch搜索优化

Elasticsearch | 作者 Backer | 发布于2017年11月14日 | 阅读数:2716

es索引一共有六条数据
1:头痛怎么办
2:头痛怎么办才好
3:怎么办才好
4:头痛该怎么办
5:头痛怎么办
6:头痛怎么办

举例:搜头痛怎么办才好
出来的结果降序依次为:
1.头痛怎么办才好
2.怎么办才好
3.头痛怎么办
4.头痛怎么办
5.头痛怎么办
6.头痛该怎么办

如何让包含头痛的标题都排到前面去

查询DSL:
query:{
"bool":{
  "must":[{"multi_match":{"query":"头痛怎么办才好","fields":["title^100","content"]}}],
  "should":[{"match_phrase":{"title":"头痛怎么办才好"}}]
  }
}

 
已邀请:

novia - 1&0

赞同来自: laoyang360 chenglp

给出一个笨方法
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "头痛怎么办才好",
"fields": [
"title^100",
"content"
]
}
}
],
"should": [
{
"match_phrase": {
"title": "头痛怎么办才好"
}
},
{
"match": {
"title": {
"query": "头痛",
"boost": 100
}
}
}
]
}
}
}

novia - 1&0

赞同来自:

受累提供下语句

cyin

赞同来自:

要做句法分析,把名词提取出来,然后加权就行

要回复问题请先登录注册