大数量情况下 如何提升ES match query的响应速度呢

发布于 2022-05-23 00:37:12 字数 1238 浏览 777 评论 5

公司的信息 放在ES中的 查询公司信息

curl -XGET 'localhost:9201/company/_search?pretty' -H 'Content-Type: application/json' -d'
 {
  "query": {
    "match": {
      "name": {
        "query": "北京公富信息",
        "operator": "and"
      }
    }
  }
}
'

查不出记录来 但是存在对应公司 : 北京公富信息技术有限公司

原因:

北京公富信息 分词后: 北京 公 富 信息

北京公富信息技术有限公司 分词后 北京 公 富 信息技术 

注: 用的是ik_smart

信息没有命中 故没有查询出记录来

operator改成or 可以查出记录来 

"operator": "or"

但是 性能慢了好多 共有95185696条公司记录

如 搜索 甘肃德源有限责任公司

and 用时: 3s

or 用时:23s 

 

问:

如果用or的话 有没办法 加快查询速度呢 ? 

参考文档:

https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-match-query.html#_phrase

https://github.com/medcl/elasticsearch-analysis-ik

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

花开柳相依 2022-05-28 02:07:05

没有 但是仍建议你先看下:https://www.elastic.co/guide/en/elasticsearch/reference/master/tune-for-search-speed.html

擦肩而过的背影 2022-05-28 01:23:33

楼主解决了吗?我也碰到同样问题了,查询响应有点慢。

抚你发端 2022-05-27 21:11:45

引用来自“SHA-256”的评论

控制一下字典?es可以自定义一个字典让分词更准确,不知道能不能解决你的问题

黒涩兲箜τ 2022-05-27 17:42:49

你这问题不应该是自定义下字典吗,分词有问题嘛

汹涌人海 2022-05-27 17:10:16

控制一下字典?es可以自定义一个字典让分词更准确,不知道能不能解决你的问题

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文