elasticsearch 如何在使用函数_score时向弹性查询添加过滤器?
以下是我当前的弹性查询:
elasticsearch 如何在使用函数_score时向弹性查询添加过滤器?,
elasticsearch,search,elastic-stack,
elasticsearch,Search,Elastic Stack,以下是我当前的弹性查询: { "from": 0, "size": 10, "query": { "function_score": { "query": { "bool": { "must": [{
{
"from": 0,
"size": 10,
"query": {
"function_score": {
"query": {
"bool": {
"must": [{
"multi_match": {
"query": "ocean",
"fields": [],
"fuzziness": "AUTO"
}}],
"must_not": [{
"exists": {
"field": "parentId"
}
}]
}
},
"functions" : [
{
"gauss": {
"createTime": {
"origin": "2020-07-09T23:50:00",
"scale": "365d",
"decay": 0.3
}
}
}
]
}
}
}
如何正确地将过滤器添加到此中?我想可能是因为我使用了function\u score
,这就不同了?我想添加一个硬过滤器,例如,只显示上传用户的结果:'Mr.Bean'。。。但是仍然保留通过此过滤器的结果的评分
我尝试在不同的地方使用filter
,也使用了must
,但我要么没有得到结果,要么得到了所有结果
我用的是弹性搜索7。感谢您的帮助您可以尝试以下搜索查询: 有关功能分数查询的更多信息,请咨询该ES官员
{
"from": 0,
"size": 10,
"query": {
"function_score": {
"query": {
"bool": {
"filter": {
"term": {
"uploadUser": "Mr. Bean"
}
},
"must": [
{
"multi_match": {
"query": "ocean",
"fields": [
],
"fuzziness": "AUTO"
}
}
],
"must_not": [
{
"exists": {
"field": "parentId"
}
}
]
}
},
"functions": [
{
"gauss": {
"createTime": {
"origin": "2020-07-09T23:50:00",
"scale": "365d",
"decay": 0.3
}
}
}
]
}
}
}
您可以尝试以下搜索查询: 有关功能分数查询的更多信息,请咨询该ES官员
{
"from": 0,
"size": 10,
"query": {
"function_score": {
"query": {
"bool": {
"filter": {
"term": {
"uploadUser": "Mr. Bean"
}
},
"must": [
{
"multi_match": {
"query": "ocean",
"fields": [
],
"fuzziness": "AUTO"
}
}
],
"must_not": [
{
"exists": {
"field": "parentId"
}
}
]
}
},
"functions": [
{
"gauss": {
"createTime": {
"origin": "2020-07-09T23:50:00",
"scale": "365d",
"decay": 0.3
}
}
}
]
}
}
}
你能分享你期望得到的样本数据和结果吗?你能分享你期望得到的样本数据和结果吗?@tyler-g你能试试上面的搜索查询,并告诉我这是否有效吗?而且,如果你能提供一些样本索引数据和你期望的结果,那就太好了。我尝试了这种方法,但不幸没有得到任何结果。如果没有“过滤器”,我会得到几个结果,我可以看到其中一些结果已上载。用户:憨豆先生results@tyler-g你能分享你的索引数据和地图吗?甚至根据索引数据你希望得到什么搜索结果?@tyler-g你有机会看一下我的答案吗,期待收到您的反馈:)是的,开始工作了谢谢您的反馈@Bhavya@tyler-g你能尝试一下上面的搜索查询,并告诉我这是否有效吗?而且,如果你能提供一些样本索引数据和你期望的结果,那就太好了。我尝试了这种方法,但不幸没有得到任何结果。如果没有“过滤器”,我会得到几个结果,我可以看到其中一些结果已上载。用户:憨豆先生results@tyler-g你能分享你的索引数据和地图吗?甚至根据索引数据你希望得到什么搜索结果?@tyler-g你有机会看一下我的答案吗,期待收到您的反馈:)是的,开始工作了谢谢您的反馈@Bhavya!