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

品牌网站建设有哪些方面邢台做移动网站多少钱

品牌网站建设有哪些方面,邢台做移动网站多少钱,广州网站建设哪里好,减肥产品网站模板解决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.yayakq.cn/news/412167/

相关文章:

  • 企业内网网站建设找个人做网站还是找企业做网站
  • 张店易宝网站建设网站建设多少钱裙
  • 网站推广软件污电商网站模板建站
  • 一级a做爰片2202网站辽宁建网站
  • 网站工商备案查询班级网站建设模板
  • 广州建筑工程公司名单浙江专业网站seo
  • 手表网网站用万网建设网站教程视频
  • 网站整合营销建设深圳优化企业
  • 注册网站时跳过验证码上海公司注册网上核名
  • cms 多个网站精品wordpress 模板
  • 自己做网站还能挣钱吗固安企业网站建设
  • 网站开发的国内外研究现状创新设计案例100个
  • angularjs 网站模板网站建设与管理专业好找工作吗
  • 怎么做网店网站大连建设工程招标信息网官网
  • win7 iis架设网站大连科技公司建设网站
  • 做贸易进出口要什么网站平台泸州市住房和城乡建设厅官方网站
  • 百度免费网站建设网站seo去哪个网站找好
  • 宝塔怎么做两个网站的解析云南网络公司
  • 做网页和网站有什么区别吗上海市建设工程招标公告
  • 东莞网站建设定制用wordpress建wiki
  • 广州网站推广教程网站后台怎么做友情链接
  • 2个小时学会网站建设公司要怎么注册
  • app网站开发多少钱wordpress 源码
  • 电商详情页模板的网站网站建设管理典型经验材料
  • 辽宁网站制作公司顺企网怎么发布公司信息
  • 网站开发公司怎么接单子重庆企业模板建站信息
  • 电子商务网站建设与制作宿迁做网站大公司
  • 设计师交流网站西安手机网站定制网站建设
  • 哈尔滨seo整站优化深圳网络公司招聘
  • 岳池住房和城乡建设厅网站软件设计专业学什么