如下,我创建了一个索引并填充了一些内容
PUT user
{
"mappings": {
"user":{
"properties": {
"name":{
"type": "keyword"
},
"desc":{
"type":"text",
"analyzer" : "ik_max_word"
},
"age":{
"type":"integer"
}
}
}}
}
PUT user/user/1
{
"name":"张三",
"desc":"打篮球的河南人",
"age":3
}
PUT user/user/2
{
"name":"李四",
"desc":"打网球的山东人",
"age":10
}
PUT user/user/3
{
"name":"王五",
"desc":"打网球的河南人",
"age":20
}
PUT user/user/4
{
"name":"赵六",
"desc":"踢足球的天津人",
"age":30
}
PUT user/user/5
{
"name":"钱七",
"desc":"打网球的天津人",
"age":40
}
然后我在按照”desc“搜索的时候结果是这样的
查询条件:
GET user/user/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"desc": "网球 天津人"
}
}
]
}
}
}
结果:
{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 4,
"max_score" : 1.5686159,
"hits" : [
{
"_index" : "user",
"_type" : "user",
"_id" : "4",
"_score" : 1.5686159,
"_source" : {
"name" : "赵六",
"desc" : "踢足球的天津人",
"age" : 30
}
},
{
"_index" : "user",
"_type" : "user",
"_id" : "5",
"_score" : 1.1507283,
"_source" : {
"name" : "钱七",
"desc" : "打网球的天津人",
"age" : 40
}
},
{
"_index" : "user",
"_type" : "user",
"_id" : "2",
"_score" : 0.87546873,
"_source" : {
"name" : "李四",
"desc" : "打网球的山东人",
"age" : 10
}
},
{
"_index" : "user",
"_type" : "user",
"_id" : "3",
"_score" : 0.2876821,
"_source" : {
"name" : "王五",
"desc" : "打网球的河南人",
"age" : 20
}
}
]
}
}
在我看来,明明是"打网球的天津人"更符合,为什么却没被排在最前面?
求大神指教!
es版本:6.5.4
ik版本:6.5.4
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。