我正在尝试在Elastic 2中创建一个过滤索引别名。十、
以下是所有青少年的资料,不分性别。我只想在这个过滤器里看到雌性。
这就是我试图创建索引别名的原因:
"add" : {
"index" : "myindex",
"alias" : "teenage_female",
"filter" :
{
"bool" :
{
"must" :
[
{ "term": { "gender": "female" } },
{ "range": { "age": { "gt": "12", "lt": "20" } } }
]
}
}
}
}
我看了这个问题,似乎是相同的答案,但是我的JSON一定有问题。
Elasticsearch将范围和术语连接到相同的数组项
我猜这里有一点,但是根据过滤索引别名文档,添加别名请求与过滤上下文一起工作(与查询上下文相反)
试试这个:
"add" : {
"index" : "myindex",
"alias" : "teenage_female",
"filter" : [
{ "term": { "gender": "female" } },
{ "range": { "age": { "gt": "12", "lt": "20" } } }
]
}
过滤器不能是数组,除非它被包装在带有“must”的“bool”中。
以下过滤器正常工作:
"filter" :
{
"bool" :
{
"must" :
[
{ "term": { "gender": "female" } },
{ "range": { "age": { "gt": "12", "lt": "20" } } }
]
}
}
我试图过滤查询使用范围按日期,但它不工作。如果我使用gt, gte, lt, lte它返回零结果。如果我只使用gt或lt,它返回一些结果,但过滤器不工作。 我检查了uri上的数据类型http://mydomain.local:9200/logstash-2014.09.09/_mapping?pretty=true字段类型是正确的: 以下是我在ElasticSearch中索引的结果示例: 下面是我
我有以下弹性搜索查询只有一个术语过滤器。我的问题要复杂得多,但我只是想在这里展示这个问题。 当我将一个连字符的值传递给过滤器时,返回的结果为零。但如果我尝试不使用未被忽略的值,我会得到结果。我不确定连字符在这里是否是一个问题,但我的场景让我相信这一点。 有没有办法跳过连字符,这样过滤器就会返回结果?我曾试图用反斜杠来逃避连字符,这是我从Lucene论坛上读到的,但没有用。 此外,如果我将GUID值
在弹性搜索中,我正在努力使助推按我所希望的方式工作。 假设我有一些包含性别、兴趣和年龄的索引配置文件,假设我发现性别匹配是最相关的,那么兴趣和最不重要的标准是用户的年龄。我原以为下面的查询会根据刚才提到的原则导致匹配配置文件的排序,但是当我执行它时,我首先得到一些男性,然后我得到50岁的女性安娜,然后是喜欢汽车的女性玛丽亚。.为什么Maria的分数没有比Anna高?? 我们将不胜感激, 斯汀 以下
如何在elasticsearch中使用与聚合相关的过滤器? 官方文档只给出了过滤器和聚合的小例子,没有对查询dsl进行正式描述——例如,将其与postgres文档进行比较。 通过尝试,我发现以下查询被elasticsearch接受(没有解析错误),但忽略了给定的过滤器: 有些人建议使用查询而不是过滤。但官方文件通常建议对精确值进行过滤。查询的另一个问题是:虽然过滤器提供了和,但查询不提供。 有人能
在Udemy教程中,我在这里遇到了这个查询: 我想知道是否有可能优化它?我在想两种可能的方法: > 将“流派”放入筛选器上下文中。但是一部电影可能有多种类型,所以我不确定使用type关键字和filter-term是否能在那里工作。 直接将“must_not”放在过滤器上下文中(没有bool)是行不通的,因为据我所知,过滤器不允许“过滤掉”,只允许“过滤保留什么”。但是如果我将must_not包装在
像 这是我的质疑。这将作为呈现的响应 我的第一次尝试是将should的inside条件作为文本添加到一个节中