Я использую Elasticsearch с Laravel, я все реализую, и он работает с простыми запросами на совпадение, как в коде выше.
'body' => [
"query" => [
"bool" => [
"should" => [
["regexp" => [
"tags" => [
"value" => ".{2,8}" . $query . ".*",
]
],
],
["wildcard" => [
"tags" => [
"value" => "*" . $query . "*",
"boost" => 1.0,
"rewrite" => "constant_score"
]
]
]
]],
], "highlight" => [
"fields" => [
"tags" => ["type" => "plain"]
]
]
]
Я получаю хорошие результаты, например, по запросу "java" Я получаю и "javascript", и "nativjavascript", но проблема заключается в получении результатов по фразам.
Я хочу набратьзапросите "java реагировать" и хотите получить следующие результаты: "java", "javascript", "javascript activjs", "actjs "," реагировать "," nativjavascript ".