当前位置: 首页 > news >正文

做网站优化如何写方案怎样做网站推广

做网站优化如何写方案,怎样做网站推广,wordpress自动发货,幼儿园资质做网站需要什么资质解决too_many_clauses: maxClauseCount is set to 1024 报错问题 问题场景报错信息问题分析解决1. 优化查询2. 增加maxClauseCount3. 改用其他查询类型修改后的查询示例 问题场景 查询语句:查询clcNo分类号包含分类O的所有文档 {"match_phrase_prefix":…

解决too_many_clauses: maxClauseCount is set to 1024 报错问题

    • 问题场景
    • 报错信息
    • 问题分析解决
      • 1. 优化查询
      • 2. 增加maxClauseCount
      • 3. 改用其他查询类型
      • 修改后的查询示例

问题场景

查询语句:查询clcNo分类号包含分类O的所有文档

{"match_phrase_prefix": {"clcNo": {"query": "O","analyzer": "standard","slop": 0,"max_expansions": 10000,"boost": 10.0}}
}

报错信息

{"took": 12,"responses": [{"error": {"root_cause": [{"type": "exception","reason": "Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]","phase": "query","suppressed": [{"type": "exception","reason": "Elasticsearch exception [type=too_many_clauses, reason=too_many_clauses: maxClauseCount is set to 1024]"}]}],"type": "exception","reason": "Elasticsearch exception [type=search_phase_execution_exception, reason=all shards failed]","phase": "query","suppressed": [{"type": "exception","reason": "Elasticsearch exception [type=too_many_clauses, reason=too_many_clauses: maxClauseCount is set to 1024]"}]},"status": 500}]
}

问题分析解决

从报错信息来看,查询出现了too_many_clauses错误,这是因为使用的match_phrase_prefix或者in以及其他的查询生成的子句数量超过了Elasticsearch的默认限制(1024个子句)。我这里的错误是由于使用match_phrase_prefix可能扩展为大量词条的查询中超过了限制

可以尝试通过以下几种方式来解决这个问题:

  1. 优化查询:减少查询中使用的子句数量
  2. 增加maxClauseCount:增加Elasticsearch中允许的最大子句数量
  3. 改用其他查询类型:使用性能更好的查询类型

1. 优化查询

尝试减少子句数量,优化子句的查询数量,使得能减少到1024的个数限制

2. 增加maxClauseCount

如果确实需要大量的子句,可以增加Elasticsearch中的maxClauseCount限制。可以通过以下步骤来增加:

  • 修改Elasticsearch7.x配置文件 (elasticsearch.yml):

    indices.query.bool.max_clause_count: 2048
    
  • 或者通过Elasticsearch的API动态更新设置(这个我没尝试,而且可能只是临时的):

    curl -X PUT "localhost:9200/_settings" -H 'Content-Type: application/json' -d '{"index" : {"query" : {"bool" : {"max_clause_count" : 2048}}}
    }'
    

3. 改用其他查询类型

如果前两种方法不可行,考虑使用性能更好的查询类型,比如prefix查询。虽然prefix查询不如match_phrase_prefix查询精确,但它性能更好,并且不会产生过多的子句。

修改后的查询示例

这里是一个优化后的查询示例,将match_phrase_prefix替换为prefix查询,并减少inner_hits的数量:

  {"prefix": {"clcNo": {"value": "O","boost": 10.0}}}

以上修改包括:

  1. 使用prefix查询替代match_phrase_prefix查询。
  2. 降低inner_hits的数量,以减少子句数量。
http://www.hengruixuexiao.com/news/40526.html

相关文章:

  • 网站建设价格明细互联网广告销售好做吗
  • 动力无限做网站怎么样公司网站搭建
  • 手机电视直播网站大全汕头网站建设方案外包
  • 平面设计广告设计深圳seo博客
  • 影视vip网站建设教程今天国际新闻最新消息10条
  • 上海网站建设升级网站优化排名软件推广
  • 网站 ftp信息营销策划书模板
  • 喷码机营销型网站google搜索引擎官网
  • 网站建设流程服务bing搜索国内版
  • 捕鱼游戏网站开发商一个完整的产品运营方案
  • 淄博临淄网站建设下载百度语音导航地图安装
  • 外贸网站推seo技术平台
  • 好看的网站界面设计百度推广退款电话
  • 商城网站制作教程搜狗收录提交
  • 买个网站多少钱免费永久个人域名注册
  • 怎么网络推广广州seo推广培训
  • 网站建设大赛海报甘肃搜索引擎网络优化
  • 网站延迟加载网站建设网络公司
  • wordpress html页面seo网络推广师招聘
  • 孟村网站建设价格网站开发
  • 哪个网站可以做创意短视频网站可免费投放广告的平台
  • 教育行业网站设计新东方一对一辅导价格
  • 莞城区做网站线上线下整合营销方案
  • wordpress模块化布局成都seo优化
  • 网站建设中的注册和登录页面一份完整app运营推广方案
  • 洛阳做天然气公司网站万网app下载
  • 九龙坡网站建设公司国家市场监管总局官网
  • wordpress圆圈特效sem优化师
  • 做旅游的网站在哪里做长沙关键词优化平台
  • 如何转移网站宁波网络营销公司有哪些