Не знаю верно, но сделал все в одном файле, 2 таблицы. Работает, не могу разобраться в чем дело
index indextags {
type = plain
source = sourcetags
path = /var/lib/manticore/indextags
min_word_len = 1 #Минимальная длина для индексации
min_infix_len = 2 #Количество для опечатки при поиске, для каждого слова
}
SELECT `id`, `title`, `description`, `field`, WEIGHT() AS w FROM `indextags`
WHERE MATCH('@title \"{$tg}\"/0.2 | @field all')
ORDER BY `w` DESC
LIMIT 10 OPTION ranker=proximity_bm25
Не работают отпечатки
финансы - находит
фииансы - не находит
Поиск работает по каждому слову
финансы финам - находит тег ‘финансы’ и теги у которых есть ‘финам’
добавляет оставшиеся теги по полю @field all
Хорошо, что не так делаю, что не работают опечатки?
Если добавить morphology = lemmatize_ru
Выполнить поиск финанс, тег финансы не находит + автоматически включается
WARNING: table 'indextags': dict=keywords and prefixes and morphology enabled, forcing index_exact_words=1
mysql> drop table if exists t; create table t(f text) min_infix_len='2'; insert into t values(1, 'финансы'),(2, 'фииансы'); select * from t where match('финансы') option fuzzy=1; select * from t where match('фииансы') option fuzzy=1;
--------------
drop table if exists t
--------------
Query OK, 0 rows affected (0.003 sec)
--------------
create table t(f text) min_infix_len='2'
--------------
Query OK, 0 rows affected (0.004 sec)
--------------
insert into t values(1, 'финансы'),(2, 'фииансы')
--------------
Query OK, 2 rows affected (0.001 sec)
--------------
select * from t where match('финансы') option fuzzy=1
--------------
+------+----------------+
| id | f |
+------+----------------+
| 1 | финансы |
| 2 | фииансы |
+------+----------------+
2 rows in set (0.002 sec)
--------------
select * from t where match('фииансы') option fuzzy=1
--------------
+------+----------------+
| id | f |
+------+----------------+
| 1 | финансы |
| 2 | фииансы |
+------+----------------+
2 rows in set (0.001 sec)