文档说过滤后的查询是
在2.0.0-beta1中不推荐使用。使用bool查询,查询使用must子句,筛选器使用filter子句。
来源
这是对filter子句的正确使用吗?
var result = client.Search<Post>(x => x
.Query(q => q
.Bool(b => b
.Must(m => m
.MultiMatch(mp => mp
.Query(query)
.Fields(f => f
.Fields(f1 => f1.Title, f2 => f2.Body, f3 => f3.Tags))))
.Filter(f => f
.Bool(b1 => b1
.Must(filters)))))); // or filter?
查询是字符串
,筛选器是func
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "javascript",
"fields": [ "title", "body", "tags" ]
}
}
],
"filter": [
{
"bool": {
"must": [
{ "term": { "tags": { "value": "javascript" } } },
{ "term": { "tags": { "value": "ajax" } } },
{ "term": { "tags": { "value": "jquery" } } }
]
}
}
]
}
原来使用Filtered
query query的地方,现在使用Bool
queryMUST
子句,同样,原来使用Filtered
查询过滤器的地方,现在使用Bool
queryfilter
子句。
在您的示例中,必须满足多个筛选子句,因此在传递给外部boolfilter
子句的bool
查询中包装为must
子句的一组must
子句是正确的。
在ElasticSearch2.0中,查询和筛选器合并为一个,有一个查询上下文和一个筛选器上下文的概念;当包装在bool
queryfilter
子句中时,查询/筛选器位于筛选器上下文中,因此不会计算相关性分数,而是可以缓存的。
NEST 2.x与Elasticsearch 2.0中的变化保持一致,并具有可用于查询和筛选上下文的查询(QueryContainer
、QueryContainerDescriptor
等)。
这是一个关于2个查询的故事。一个返回结果,而另一个不返回结果。为什么? 返回结果的查询:
问题内容: 我为嵌套对象具有以下索引架构: 数据如下: 现在,如果我做一些简单的查询,例如找到“ isCurrentWorkplace”为true且title.id为259的工作场所,则它可以正常工作: 现在的问题是,我需要组合这些必须子句。例如,我需要找到一条记录,其“ isCurrentWorkplace”为true,“ title.id”为259 AND “ isCurrentWorkpla
我正在尝试在pyspark中运行子查询。我发现可以使用SQL语句。但是,使用“where”或“filter”操作是否有任何内在的支持? 考虑测试数据框架: 在这里,您可以看到where函数工作正常。当我尝试使用子查询执行相同操作时,如下所示: 我得到这个错误: 属性错误回溯(最近一次调用)在---- /opt/cloudera/parcels/CDH-6.3.4-1。cdh6.3.4。p4744.
问题内容: 在MySQL 5.0中,为什么尝试在FROM子句中创建带有子查询的视图时会发生以下错误? 错误1349(HY000):视图的SELECT在FROM子句中包含一个子查询 如果这是MySQL引擎的限制,那么为什么他们还没有实现此功能呢? 此外,对于此限制有什么好的解决方法? 是否有任何变通方法可用于FROM子句中的任何子查询,或者是否存在某些无法在FROM子句中使用子查询无法表达的查询?
问题内容: 我有这样的查询- 由于将rowz = 1放入查询中,因此该查询无法正常工作?如果我只想要在嵌套后rowz = 1的结果该怎么办。 当我这样做时- 从news_article中选择unnest(string_to_array(na.news_category_id,’,’)):: int rowz; 我的桌子是- 然后它给了我这个结果- 问题答案: 这回答了您的问题: 诀窍是将数组放入一
问题内容: 谁能给我一些关于如何将这种子查询放入提示?(我正在使用 JPA 2.0 - Hibernate 4.x ) -第二个选择将始终获得单个结果或null。 问题答案: 尝试类似以下示例的操作来创建子查询: 请注意,由于附近缺少IDE,因此该代码尚未经过测试。