Здравствуйте! Возникла необходимость искать по синодальным переводам, к примеру ввести “евангелие” и находить " Ева́нгелие", или иаков => Иа́кова. По умолчанию как сфинксе скормил запросам, запустил indexer --all и мантикоре не ищет в индексе, пока не ввести точные символы, можно ли ее заставить понимать гласные с ударением как обычные русские?
вам надо сделать charset_table, в котором будет ремапинг гласных с ударением в обычные гласные. Как например показано в документации для заглавных букв.
Похоже на то, что надо. Спасибо большое!
Всё сильно зависит от вида ударения.
Если это единственная “другая” буква, другой кодпоинт - её можно замапить в обычную букву.
Если это юникодная добавка, где вы сперва ставите букву, а потом добавляете следующий знак диакритики, и визуально это выглядит как буква с ударением - это уже два кодпоинта, их нельзя замапить в единственный. А если это вообще винегрет разных вариантов (например, буква ё на win/lin - это одна буква ё, а на макинтоше - это буква е с последующим диерезисом) то это ещё веселее.
Наверное, тут имеет смысл попробовать вордформы. Т.е. просто явно прописать маппинг возможных сокращений в единую каноническую форму, и уже её индексировать (это вроде как не сильно много для ручного ввода; 66 или 77 книг, а на самом деле скорее всего меньше, потому что разные 1Цар, 2Цар… 4Цар вряд ли имеет смысл класть в разные формы, умножить на два-три варианта маппинга. Ну, где-то около двух сотен ворформ, это вроде не запредельно).