Мой сайт имеет один индекс с языковым детектором для переключения между испанским или английским языком. Я хочу иметь возможность искать на английском и получать только результаты на английском языке. И то же самое для поиска по-испански. Код, который обрабатывает отображение / перевод, можно найти здесь: https://github.com/Automattic/wpes-lib
Я новичок в Elasticsearch, но учусь около месяца. Любая помощь в этом очень приветствуется.
Я пытался (ниже я использую синтаксис PHP):
"must_not" => [
"match" => [
"query" => $query,
"field" => "title.es"
]
],
и:
"must_not" => [
"match" => [
"title.es" => [
"query" => $query
]
]
],
Полный запрос ниже:
$es_query_args['query']['function_score']['query']['bool'] = [
"must" => [
"multi_match" => [
"query" => $query,
"type" => "best_fields",
"fields" => [
"meta.search_content.value",
"taxonomy.search_tag.name",
"title"
],
"fuzziness" => "auto",
"operator" => "and",
"tie_breaker" => 0.3
],
],
"must_not" => [
"match" => [
"query" => $query,
"fields" => ["title.es"]
]
],
"should" => [
"multi_match" => [
"query" => $query,
"fields" => [
"title^3",
"taxonomy.search_tag.name^3",
"meta.search_content.value",
],
"fuzziness" => "auto",
"type" => "phrase",
"slop" => 5,
],
],
];
без удачи: (