Intereting Posts
PHP-JSON: проверьте неработающие ссылки Невозможно получить отношение от одного до многих в Laravel 4 Я не могу получить свою форму для подключения, чтобы правильно взаимодействовать с базой данных mySQL NOT PHP vs JS Comparison: Могу ли я что-либо сделать на PHP, что можно сделать с помощью JS? Открыть URL с PHP Magento: генерация URL-адреса для бэкэнд-действия (с ключом) Как преобразовать дату из одного формата в другой в Php preg_replace все вхождения в строке с определенными разделителями Вызов функции-члена fetch () для boolean PHP: Самый чистый способ изменения многомерного массива? Создайте форму и сохраните данные во внешней БД с помощью WordPress Как остановить GD2 от вымывания цветов при изменении размера изображений? как переместить текущую запись в другую таблицу и удалить текущую запись Проблема кодирования в AJAX Есть ли ярлык для привязки названных параметров PDO для вставок MySQL?

elasticsearch: поиск частей слов

Я пытаюсь научиться использовать elasticsearch (используя elasticsearch-php для запросов). Я вставил несколько данных, которые выглядят примерно так:

['id' => 1, 'name' => 'butter', 'category' => 'food'], ['id' => 2,'name' => 'buttercup', 'category' => 'food'], ['id' => 3,'name' => 'something else', 'category' => 'butter'] 

Теперь я создал поисковый запрос, который выглядит так:

 $query = [ 'filtered' => [ 'query' => [ 'bool' => [ 'should' => [ ['match' => [ 'name' => [ 'query' => $val, 'boost' => 7 ] ]], ['match' => [ 'category' => [ 'query' => $val, 'boost' => 5 ] ]], ], ] ] ] ]; 

где $ val – поисковый запрос. Это работает хорошо, единственная проблема, с которой я сталкиваюсь: когда я ищу «масло», я нахожу идентификаторы 1 и 3, но не 2, потому что поисковик, похоже, соответствует только точным словам. Есть ли способ поиска «внутри слов» или, в терминах mysql, делать что-то наподобие WHERE name LIKE '% val%'?