我在 Laravel 中使用 Elastic Search,我的索引有 3 个字段text,mood,haloha_id
。首先,我想匹配"haloha_id"
(将 haloha_id 视为帖子,将文本视为该帖子的评论)如果匹配,则进行进一步匹配。假设"haloha_id"
匹配现在我想匹配“文本”字段中的子字符串,然后匹配“心情”(整数或者 0,1,2 等)“只有当某些“文本”匹配时才匹配心情,否则不匹配。我正在制作 Like Mine 查询意味着与特定帖子的用户评论匹配的评论将仅显示。我的查询中的问题是
我自己的评论没有出现在顶部因此它匹配 100%
如果某人的“心情”和“评论”与我的 100% 匹配,那么它就不会出现在顶部。
我删除了与“心情”相关的查询,但分数没有影响,这意味着分数不包括心情匹配的分数。
这是我的查询。
"query"=>[
"bool"=>[
"should"=>[
"match"=>[
"text"=>[
"query"=>$userHaloha->filtered_text,
"fuzziness"=>"AUTO",
]
]
],
"minimum_should_match"=>1,
"must"=>[
"match"=>[
"mood"=>$userHaloha->mood,
],
"match"=>[
"haloha_id"=>$userHaloha->haloha_id
]
]
慕桂英3389331