Я работаю с Elasti c Искать в Laravel в моем индексе 3 поля text,mood,haloha_id
. Сначала я хочу сопоставить "haloha_id"
(рассматривайте haloha_id как сообщение, а текст как комментарии к этому сообщению), если совпадение, затем выполните дальнейшее сопоставление. предположим, что теперь соответствует "haloha_id"
. Я хочу сопоставить подстроку в поле «текст», а затем сопоставить «настроение» (целое число либо 0,1,2 et c) «настроение должно совпадать, только если какой-либо из» текста "в противном случае не соответствует. Я делаю запрос Like Mine, это означает, что комментарии, соответствующие комментариям пользователя для указанного c сообщения, будут отображаться только. Проблема в моем запросе заключается в том, что
Мои собственные комментарии не отображаются вверху, следовательно, они совпадают 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
]
]