假设我有包含以下字段的文档: {field1, field2, ... fieldn}
我需要运行一些查询,其中某些条件将需要在两个或多个字段之间进行比较。喜欢fieldX = fieldY
在标准SQL中,一个示例可能是:
SELECT * FROM Table1 WHERE farePrice>100 AND originRegion = destinationRegion
我正在阅读一些文档,看起来“脚本”可能是实现此目的的唯一方法?还是还有其他选择?
您可以使用脚本过滤器-
{
"filtered": {
"query": {
"range": {
"farePrice": {
"gt": 100
}
}
},
"filter": {
"script": {
"script": "doc['originRegion'].value == doc['destinationRegion'].value"
}
}
}
}
您可以在此处和此处找到更多信息。
我在ElasticSearch中有一个索引,其中包含日期类型的两个字段(metricsTime 但是,在导航到Kibana的Discover选项卡时,我得到了以下错误消息:class_cast_exception:无法对类型[org . joda . time . mutable datetime]和[org . joda . time . mutable datetime]应用[-]操作。这看起
我有两个对象数组:
我一直在阅读这两个关于属性和字段的文档: https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-fields.html https://www.elastic.co/guide/en/elasticsearch/reference/current/properties.html 我理解具体文档中描述的每个属性的用
我目前正试图理解字段之间的差异(https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-fields.html)和属性(https://www.elastic.co/guide/en/elasticsearch/reference/current/properties.html). 它们都以某种方式定义为类型/映射
我知道可以使用,现在不推荐使用。类似于咆哮的代码: 另外,也许可以将手动脚本写成字符串,但我怀疑这是否是正确的解决方案。任何创建正确查询的想法都将受到欢迎。
我在Elasticsearch中存储了一个日志文件,其中一个文档是文件的单行。消息块以某些关键字开始和结束。我想获取包含这些关键字的文档之间的所有文档。有没有办法利用Elasticsearch中的范围查询/范围过滤器来查询文本字段? 示例日志文件: 。。 我想查询“关键字1”和“关键字2”之间的所有文档,包括包含关键字本身的文档。假设有多个这样的块具有“关键字1”和“关键字2”。 此外,我正在用一