Задать вопрос
@hrustbb2

Как manticore search работает с опечатками в запросах?

Попытался так:
Использую библиотеку
Создал индекс
$config = ['host'=>'manticore','port'=>9308]
$client = new Client($config);
$suggest = $client->index('suggest');
$suggest->create([
            'explanation' => [
                'type' => 'text',
            ],
        ],
        [
            'min_infix_len' => 1,
            'dict' => 'keywords',
        ]);

Добавил документов
$suggest->addDocument([
                'explanation' => 'Автобус',
            ]);


Затем сам запрос
$query = [
        'index' => 'suggest',
        'body' => [
            'query' => 'овтобус',
            'options' => [
                'limit' => 1,
            ],
        ],
    ];
    
$r = $client->suggest($query);


Но результат пустой. Кто решал подобную задачу? Что я делаю не так?
  • Вопрос задан
  • 464 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
ManticoreSearch
@ManticoreSearch
Вот так работает:

mysql> drop table if exists suggest; create table suggest(explanation text) min_infix_len='1' dict='keywords'; insert into suggest values(0,'Автобус'); call suggest('овтобус', 'suggest', 1 as limit);
Query OK, 0 rows affected (0.05 sec)

Query OK, 0 rows affected, 1 warning (0.01 sec)

Query OK, 1 row affected (0.02 sec)

+----------------+----------+------+
| suggest        | distance | docs |
+----------------+----------+------+
| автобус        | 1        | 1    |
+----------------+----------+------+
1 row in set (0.00 sec)


Попробуйте использовать не php-клиент, а mysql. Про баг в php-клиенте вы уже issue завели https://github.com/manticoresoftware/manticoresear...

Как будет время - пофиксим. Pull request'ы приветствуются!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
Так в сфинкс не умеет работать с опечатками
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы