es搜索优化

发布时间 2023-07-03 18:22:29作者: 下午喝什么茶
1、V1版本:仅做了分词的查询,使用ik分词器ik_max_word
POST /t_sku/_search
{
  "size": 10,
  "query": {
    "bool": {
      "match": {
        "spu_name": "陕西米脂"
      }
    }
  },
  "_source": "spu_name"
}

2、V2版本:

(1)优化后支持前缀搜索,配合权重控制

(2)优化短语查询:phrase查询,查询时可以将短语中词语看成一个整体,本质就是相对位置固定,不像分词的拆分,配合权重,返回结果更靠前,更精准

POST /t_sku/_search
{
  "size": 10, 
  "query": {
    "bool": {
      "should": [
        {
          "prefix": {
            "spu_name.keyword": {
              "value": "陕西米脂",
              "boost": 5
            }
          }
        },
        {
          "match_phrase_prefix": {
            "spu_name": {
              "query": "陕西米脂",
              "boost": 2
            }
          }
        },
        {
          "match": {
            "spu_name": "陕西米脂"
          }
        }
      ]
    }
  },
   "_source": "spu_name"
}