问题标签 [elasticsearch-query]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
131 浏览

elasticsearch - 如何使用前缀查询编写匹配查询或

例如,如果现在有一个字符串“nite out”,我希望我的字符串与“nite”匹配或将其前缀与“out”匹配,因此对于上述字符串评分必须像第一个“nite out”,“nite outing” ", "nite" 和 "out" 优先级相同,"outing"。

0 投票
0 回答
536 浏览

sql - Kibana - 加入同一个索引

我对 Kibana 有最基本的了解,也许对 Elasticsearch 也有一点了解。这是否可以构建一个查询,该查询将返回 field_A == field_B 的所有项目?在 sql 世界中,它会是这样的: select * from MyTalbe as t1 inner join MyTable as t2 on t1.field_A = t2.field_B?

0 投票
1 回答
67 浏览

elasticsearch - 如何使用elasticsearch方面查询对结果进行分组

我有以下格式的 json 数据

我想计算汽车的数量和相应的颜色。我正在使用弹性搜索方面来做到这一点。

我的查询

我得到如下输出

我真正想要的是,

我想按结果分组。是否可以在弹性搜索查询中做到这一点。

提前致谢

0 投票
4 回答
3182 浏览

elasticsearch - Elasticsearch 日期查询。某月出生的人

我有一个具有以下映射的字段:

  1. 我需要找到所有出生在 5 月的人(包括所有年份)
  2. 另一个查询是查找所有出生于“8 月 25 日”的人(包括所有年份)

那会是什么查询?

0 投票
1 回答
2518 浏览

elasticsearch - Elasticsearch 查询以搜索带有空格的两个单词组合

我有一个弹性搜索查询来根据名称搜索数据。

我的查询是

上面的查询适用于单个单词搜索,但是当我给出两个带有空格的单词时,它不会为它选择任何数据。

我的查询不适用于以下情况。

我不知道我应该附加什么关键字才能满足我的搜索场景。

提前致谢

0 投票
1 回答
824 浏览

elasticsearch - 有条件地将术语过滤器添加到弹性搜索过滤器查询

我一直想知道如何在将术语过滤器实际添加到过滤后的查询之前检查搜索参数是否不为空。从我对弹性搜索的有限经验来看,我似乎必须提前构建我的确切查询。

如果我使用 Node / Mongo,我知道我可以做一些类似的事情

并且在角度上,我已经为弹性搜索构建了一个查询,只要填写了所有参数,它就可以正常工作。我想我的问题是如何根据用户填写的参数有条件地和动态地构建过滤查询。

即用户A 填写了国家和公司,但没有填写工资。因此,工资不会作为术语过滤器包含在内。

谢谢大家!

0 投票
1 回答
692 浏览

search - 在 elasticsearch 中使用正则表达式搜索

我正在尝试正则表达式搜索弹性搜索数据库。

到目前为止我的查询(它不工作):

我得到的结果是

我试图找到的事件是这个

我用谷歌搜索了一些东西,但没有任何运气。

========更新==========

我设法用这个查询我的弹性搜索

0 投票
2 回答
367 浏览

elasticsearch - 在 Elasticsearch 中检索热门术语查询

我正在使用 Elasticsearch 1.1.0 并尝试检索名为text

我尝试了以下方法,但它返回了所有文档:

编辑

以下是返回结果的示例:

我究竟做错了什么?

谢谢。

0 投票
1 回答
1012 浏览

java - Elasticsearch 缓慢的搜索查询性能

我在调整 Elasticsearch 以提供高搜索查询性能时遇到了很多问题。这些是我的规格:

ES 设置:版本:0.90.0,集群中有 2 个节点(m3.2xlarge aws 实例),每个 32GB RAM,50% 分配给 ES_HEAP_SIZE,无交换

数据:75MM文档,每个25个字段

针对基准的查询:针对 5 个文本字段的多匹配查询

我已经尝试了这里这里提到的所有内容

高达 30 个请求/秒的输入查询频率,响应时间保持小于 1 秒。超过 30 多个请求/秒,性能下降,响应时间增加到 50 秒。虽然发生这种情况,但 JVM 堆是稳定的(在 bigdesk 中约为 7-8),并且 GC 也很稳定。但是,CPU 迅速增加,达到 800%(8 核),平均负载非常高 16。热线程不断在搜索和评分函数之间切换,如 BooleanScorer2.nextDoc、BooleanQuery.createWeight、DisjunctionSumScorer.advance、BufferedIndexInput.refill等等

问题:您能否帮我找出为什么在 30 次请求/秒后性能会下降,以及如何通过更改集群配置来解决这个问题。

提前致谢!

0 投票
1 回答
1192 浏览

elasticsearch - 弹性搜索特定时间

我正在尝试编写一个查询,该查询仅返回 x 天后当天当前小时的结果。例如,如果现在的时间是 12:00,我想获得 11:00-12:00 范围内的结果,14 天前的每一天。我已经看到一个月内特定时间的 Elasticsearch 总和值,但它要求我选择固定时间。简单地从“现在”中提取小时是行不通的,因为返回 1 小时可能会导致移动到昨天,然后该范围将不起作用。