这是一个关于2个查询的故事。一个返回结果,而另一个不返回结果。为什么?
返回结果的查询:
{
"index":"my_index",
"type":"places",
"body":{
"from":0,
"size":"12",
"sort":{
"_score":{
"order":"desc"
}
},
"query":{
"function_score":{
"query":{
"bool":{
"must":[
],
"should":[
],
"must_not":[
],
"filter":[
]
}
},
"functions":[
{
"gauss":{
"location":{
"origin":{
"lat":"41.243368",
"lon":"-116.79711"
},
"offset":"0mi",
"scale":"100mi"
}
}
}
],
"score_mode":"sum",
"boost_mode":"sum"
}
}
}
}
{
"index":"my_index",
"type":"places",
"body":{
"from":0,
"size":"12",
"sort":{
"_score":{
"order":"desc"
}
},
"query":{
"function_score":{
"query":{
"bool":{
"must":[
],
"should":[
{
"terms":{
"region_id":[
32273
],
"boost":2
}
}
],
"must_not":[
],
"filter":[
]
}
},
"functions":[
{
"gauss":{
"location":{
"origin":{
"lat":"41.243368",
"lon":"-116.79711"
},
"offset":"0mi",
"scale":"100mi"
}
}
}
],
"score_mode":"sum",
"boost_mode":"sum"
}
}
}
}
第一个查询充当match_all
查询,因此它返回所有内容并应用函数score。在第二个查询中,您有一个show
子句,但是由于没有must
或filter
子句,所以必须匹配。
摘自ES Docs:“在没有must或filter子句的布尔查询中,一个或多个should子句必须与文档匹配”
文档说过滤后的查询是 在2.0.0-beta1中不推荐使用。使用bool查询,查询使用must子句,筛选器使用filter子句。 来源 这是对filter子句的正确使用吗? 查询是,筛选器是
还有 我可以使用多个过滤器在一个必须像下面的代码:
问题内容: 将SELECT查询放在UPDATE查询的WHERE子句中时出现错误。 我的查询是这样的: AND错误将显示如下: “无法在FROM子句中指定目标表’m’进行更新” 问题答案: 实际上,您可以通过将其包装在子查询中来更新它(从而为结果创建临时表) 或使用 JOIN
我想使用elasticsearch功能得分自定义评分,这些是我的排名优先事项: > 与查询的共同术语数(例如,一个文档在查询中有4个术语中的3个,无论每个术语的TF/IDF得分有多大,它的排名都应该高于一个文档在查询中有4个术语中的2个)。在弹性文献中,它被称为协调因子。 术语相关性之和。(过渡联邦/以色列国防军) 文档受欢迎程度(每个文档的票数,如《受欢迎程度提升》中所述) 这是当前使用的ela
问题内容: 我有以下SQL表 部 雇员 我想写一条返回的声明 我有 当然,这缺少“男性雇员的数量”。由于不确定,我被困在这里,在哪里指定附加子句e.gender = male。 我忘了提:HQL或标准会很好。 问题答案: 假设原始查询和架构正确:
问题内容: 我们正在开发一个使用EJB连接到数据库的Web应用程序。 在我们的数据库模型中,我们有一个移动设备表,另一个有功能表,最后一个有手机模型映射功能值的表。模型(id_model,…)功能(id_feature,…)model_features(id_model,id_feature,值) 我们想要执行一个查询,以按匹配特征的数量对模型进行排序。就是说,我们传递了一个要匹配的功能列表(即从