问题标签 [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.
elasticsearch - 如何在 ElasticSearch 中的单个 URI 中执行多个搜索查询?
我正在尝试通过从邮递员发送一个 GET http 调用来获取索引的结果,该调用包括日期范围和我手动添加的字段(“log_type”),
所以现在我能够得到结果,当我单独查询它时,例如:
日期范围:http://localhost:9200/dialog_test/_search?q=timestamp:[2016-08-05+TO+2016-08-06]
log_type: http://localhost:9200/dialog_test/_search?q=log_type:GetProvisioning%20SUCCESS
在上面的 url (log_type) 中,GetProvisioning Success 是一个 log_type。
所以我想知道的是,如何将它们组合到一个查询中以识别特定日期范围和特定 log_type 之间的结果是什么?
任何帮助都将不胜感激
elasticsearch - 对 Elastic Search 中的索引进行搜索查询时,时区会导致不同的结果
我试图从特定索引的搜索查询(即:给定日期范围的搜索结果)中找出结果。这样我就可以每天得到结果。
在上面,时间戳是我使用 my 添加的一个字段,logstash.conf
以获取实际的日志时间。当我尝试查询这个时,令人惊讶的是,我得到了一些命中(总命中数:24),因为从 (2016-08-03) 日期起我没有任何日志记录,所以应该是 0。它实际上显示了第二天的计数(即:(2016-08-04),它在日志文件中有 24 条记录。我确定timezone
.
我的时区是GMT+5:30。
这是我的过滤部分logstash conf
:
编辑:
这是日志文件中日期为 (2016-08-04) 的前 24 条记录的快照:
这是JSON
我在搜索 2016-08-03 日期时得到的响应的快照:
我哪里错了?任何帮助都将不胜感激。
elasticsearch - ElasticSearch - 限制查询结果中嵌套集合的大小
如果我的博客文章包含数千(或十万)条nested
评论,并且我只想检索前 10 篇博客文章。我将只使用size
来控制我想要检索多少博客文章,但我不确定如何限制nested
我想要多少评论的大小。
例如,这将返回前 10 篇无限制评论的博客文章
我尝试inner_hits
但它对我不起作用。当我使用时,我必须在嵌套评论中进行查询,我还禁用了源(以避免检索包含所有评论的帖子),并且 inner_hits 结果将给我每个帖子的每个评论(冗余)即使在某些情况下它是相同的父帖子。我也考虑过parent-child
方法,但这意味着创建多个请求/查询。
你知道如何限制查询中嵌套集合的大小吗?
我正在寻找的是创建一个查询,我可以做一些事情,比如获得前 10 篇博客文章和前 5 条评论。
regex - Elasticsearch:如何按特定的 URL 路径过滤和分组?
我有一个索引,网址,如下所示:
该路径将存储来自 url 的 PATH 部分,例如:
将存储为:
我正在存储各种路径,所以可能更像:
我正在尝试找出每个路径具有的唯一网页浏览量。我不确定我应该怎么做,我应该使用正则表达式吗?
我想它看起来像(伪代码):
regex - Elasticsearch:在字段上运行聚合并使用不匹配值的正则表达式过滤掉特定值
我正在尝试在字段上运行聚合并忽略特定值!所以我有一个字段路径,其中包含一堆不同的 url 路径。
运行它时,它不会过滤掉路径包含缓存或媒体的文档?!
如果我删除过滤器,如果我把它留在里面,将返回相同的结果。
mysql - How could I have MySQL IN clause within my elasticsearch query?
I'm trying perform an elasticsearch
query as a GET
request in order pull data from the index which I created. The data which is in the index is, a table from MySQL
DB, configured though logstash
.
Here is my request without the IN clause:
In the above, I should be able to append AND responseCode IN (401,403)
. I tried giving it a search on the web, but couldn't find any solutions.
Any help could be appreaciated.
mysql - 我的弹性搜索查询中如何包含 MySQL sum() 和 group by 子句?
我正在尝试将elasticsearch
查询作为GET
请求执行,以便从我创建的索引中提取数据。索引中的数据是来自MySQL
DB 的表,但已配置logstash
。
这是我没有 IN 子句的请求:
在上面,我应该能够附加sum(chargeAmount+0)
& group by
。我尝试在网上搜索它,但找不到任何解决方案。
任何帮助都可以得到赞赏。
mysql - 如何在我的弹性搜索查询中附加时间戳范围?
我正在尝试执行弹性搜索查询作为POST
请求,以便从我创建的索引中提取数据。索引中的数据是来自 MySQL DB 的表,但已配置logstash
。
这是我的要求和JSON
正文:
http://localhost:9200/response_summary/_search
身体:
在上面的JSON
正文中,我需要将 附加timestamp
到 中query_string
,以便从日期范围内的索引中获取数据。我尝试在查询末尾添加:
AND timestamp:[2015-05-27T00:00:00.128Z+TO+2015-05-27T23:59:59.128Z]"
我哪里错了?任何帮助,将不胜感激。
elasticsearch - 寻找一种更简洁的方式来为多个术语添加前缀匹配
我正在寻找更好的方法。
我有来自用户的任意数量的输入术语(假设它们是姓氏)。我想对每一个执行前缀搜索并提高任何匹配项的分数。
未分析的前缀查询是我现在使用的 - 见下面的例子 - 但是我也承担了分析器通过创建自定义编程来分割空格上的输入项,修剪,小写它们,然后使用标记构造一系列前缀查询以提高评分。
- 示例输入是一堆姓氏,例如“Smith, Rodriguez, ROBERTS, doe”。
然后我的程序将它们解析为标记并将它们小写为:
smith
rodriguez
roberts
doe最后我构造了多个前缀查询来提高分数,就像这样
我不禁认为我这样做的效率很低,并且 elasticsearch 可能会提供我不知道的更智能的功能。我希望前缀查询的分析形式让我的生活更轻松。例如,将输入逐字逐句传递给弹性查询将是理想的,所以"someAnalyzedPrefix": {"surname": "smith rodriguez roberts doe", prefix_length: 3}
我在这里有点梦想,但你明白了我正在寻找一个更简单的解决方案的事实。
我想知道在负责分析的同时,是否有任何其他类型的查询可以产生相同的结果。
欢迎提出改进建议,否则我将坚持使用上面的模式,因为它确实满足需要,尽管不一定漂亮。
spring - Spring Data Elasticsearch 在两个日期之间获取文档会生成错误的查询
我正在尝试获取大于或小于指定日期的文档。
为此,我正在使用下面的 searchQuery。
从上面的查询构建器生成的查询是这样的。
即使我使用rangequery 的函数 gt 和 lt ,查询也会生成为from 和 to。
有什么解决方案可以像这样生成查询。
这是我写的测试课。
关于如何在 Spring Data Elasticsearch 中实现这一点的任何建议都会有所帮助。