Всем здравствуйте. Не совсем понимаю как работает мантикора внутри, т.к. довольно часто встречается неожиданная выдача по запросам.
У меня все работает на официальной библиотеке PHP.
Конфиги индекса такие:
const INDEX_NAME = 'tyres_search';
private array $fields = [
'name' => ['type' => 'text'],
'article' => ['type' => 'text'],
'id_unique' => ['type' => 'string'],
'id_good_type' => ['type' => 'int'],
'id_search_category' => ['type' => 'int'],
];
private const SETTINGS = [
'rt_mem_limit' => '512M',
'min_infix_len' => 2,
'morphology' => 'soundex',
'regexp_filter' => self::REGEXP_FILTERS
];
В индекс в поле name загружаю модели шин с полным наименованием: бренд - модель - параметры и т.д.
И соответственно сами запросы:
Почему мантикора не учитывает порядок букв в слове при запросе и дает весьма хаотичную выдачу?
Далее:
Почему при прошлом запросе мантикора не выдавала пирелли?
Далее все еще страннее:
И наконец полный абсурд на мой взгляд:
Остюда 2 вопроса:
-
Почему такая странная выдача?)
-
Как повысить точность выдачи. Но так чтобы в слове были допустимы ошибки и опечатки. т.е. точный поиск по фразе типа
SELECT * FROM tyres_search WHERE MATCH(‘zshkuds’);
или подобный не подходит.