Поиск по части слова в кириллице php


(Folt) #1


Такая проблема:
Добавил в индекс элементы
Пытаюсь найти по части слава, но приходит пустой массив. Но когда ищу по полному слову - приходят все данные с ним.

require $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php';
$client = Elasticsearch\ClientBuilder::create()->build();
$q = trim(htmlspecialcharsEx($_REQUEST['q']));

$params = [
    'size' => 3000,
    'index' => 'catalog',
    'type' => 'products',

    'body' => [
        'query' => [
            'bool' => [
                'should' =>[
                    'multi_match' => [
                        'query' => $q  ,
                        'prefix_length' => 2,
                        'fields' => [
                            'name',
                            'preview',
                            'detail',
                            'brand',
                            'section_name'
                        ]
                    ]
                ]
            ]
        ]
    ]
];
$result = $client->search($params);

if(!empty($result['hits']))
{
    $prodID = [];
    foreach($result['hits']['hits'] as $item )
    {
        $prodID[$item['_id']] = $item['_id'];
    }

    prent($prodID,1,1); die();
}

(system) #2

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.