V2EX 11月03日 12:53
Elasticsearch查询优化策略
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文针对Elasticsearch 8.15版本在单机200万数据量下的查询性能问题,分析了查询语句和索引结构,并提出了相应的优化策略。

查询一次时间,大约 30 秒。elasticsearch 8.15,单机,总数据量大约 200 万,filter 过滤后大约 1 万~20 万

部分索引如下

"mappings": {        "properties": {            "brandId": {                "type": "long"            },            "pageContent": {                "analyzer": "store_analyzer_page",                "search_analyzer": "search_analyzer_page",                "type": "text"            },            "pageEmbedding": {              "type": "dense_vector",              "dims": 1024,              "index": true,              "similarity": "cosine",              "index_options": {                "type": "int8_hnsw",                "m": 16,                "ef_construction": 100              }            }        }    }

部分查询语句如下,

{  "knn": [    {      "field": "pageEmbedding",      "query_vector": {{embedding}},      "k": 200,      "num_candidates": 1000,      "boost": 1.0,      "filter": [        {          "bool": {            "filter": [              {                "term": {                  "brandId": {                    "value": {{brandId}}                  }                }              }            ]          }        }      ]    }  ],  "query": {    "bool": {      "filter": [        {          "term": {            "brandId": {              "value": {{brandId}}            }          }        },      ],      "should": [        {          "match": {            "pageContent": {              "boost": 0.5,              "query": "{{keyword}}"            }          }        }      ]    }  },}

部分查询条件会 400ms 左右返回,偶尔会出现查询出现 30 秒,应该如何优化?

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Elasticsearch 查询优化 性能提升
相关文章