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

做网站模板的软件西安seo网站推广优化

做网站模板的软件,西安seo网站推广优化,免费咨询话术,安全月考评哪个网站做es的range失效的解决方法 问题描述 当我们es使用keyword类型存储数字时,当我们使用range时我们发现range失效的问题,例如以下的用例: 我们创建一个test1的索引test1: 使用_bulk进行批量导入数据: 进行查询我们发现我…

es的range失效的解决方法

问题描述

当我们es使用keyword类型存储数字时,当我们使用range时我们发现range失效的问题,例如以下的用例:

我们创建一个test1的索引test1:

image-20250423190453040

使用_bulk进行批量导入数据:

image-20250423190504390

进行查询我们发现我们要使用range进行0-5000的范围查询,但发现10000出现了

image-20250423190558050

这是为什么呢?

原因解释:因为es的keyword的字符串比较是按字典序进行的(“100” < “20” 因为 ‘1’ < ‘2’),同理5000>10000是因为5>1

如何解决呢?

正确解决方案

方案1:重新映射字段为数值类型(推荐)

PUT /products/_mapping
{"properties": {"price": {"type": "float"  // 或 "integer"}}
}

然后使用数值类型的 range 查询。

方案2:使用脚本转换字符串为数值(性能较差)

GET /products/_search
{"query": {"script": {"script": {"source": "Double.parseDouble(doc['price'].value) >= params.min && Double.parseDouble(doc['price'].value) <= params.max","params": {"min": 100,"max": 500}}}}
}

方案3:使用标准化格式存储文本价格(次优方案)

如果必须保持文本类型,确保所有价格:

  • 统一小数位数(如都保留2位:100.00)
    化格式存储文本价格(次优方案)

如果必须保持文本类型,确保所有价格:

  • 统一小数位数(如都保留2位:100.00)
  • 统一数字
http://www.dtcms.com/wzjs/148219.html

相关文章:

  • 爱佳倍 北京网站推广普通话手抄报图片
  • 做家政建网站seo优化技术培训
  • 纯文字网站设计推广方案框架
  • 产品开发流程管理福州搜索引擎优化公司
  • 淘客网站怎么建设ip软件点击百度竞价推广
  • 昆明旅游网站建设域名信息查询网站
  • 网站开发有关费用泰安网站建设优化
  • 网站建设包括哪方面网络营销与直播电商专业介绍
  • 做一门户网站价格最近的新闻事件
  • 虚拟电脑可以做网站吗今日头条搜索优化
  • 惠州网站建设模板合作关键词优化排名用哪个软件比较好
  • 新疆工程建设云网站百度产品营销推广的方案
  • 金融投资公司网站建设论文百度知道入口
  • 互联网的意思简述什么是seo及seo的作用
  • 阿里云网站建设与发布题库免费seo推广软件
  • 宜兴做宠物的网站小程序开发费用明细
  • 账号运营竞争性谈判网络seo
  • 轻云服务器菁英版 多个网站专门培训seo的网站
  • wordpress管理系统旺道智能seo系统
  • 潍坊网站建设公司哪家好我要推广
  • 做网络销售怎么建立网站seo排名优化什么意思
  • 网站统计源码下载百度分析
  • 自媒体平台注册入口企鹅号网站seo推广
  • 建设小型网站价钱360推广登陆
  • 网站建设客户源举三个成功的新媒体营销案例
  • 百度公司网站排名怎么做网站软文是什么
  • 大连建设局网站地址东莞做网站排名优化推广
  • 国家卫生健康委员会医师定期考核系统百度seo关键词怎么做
  • 长沙营销网站建设百度知道客服电话
  • 太原建网站中国移动有免费的视频app