Здравствуйте.
Нужно реализовать поиск по заголовкам и по тегам. Первый обычный, с морфологией, второй по строгому соответствию.
Теги (строгий поиск) отдельно делаю так:
sql_query = SELECT id, tags FROM
...
morphology = none
min_word_len = 2
min_stemming_len = 4
expand_keywords = 0
Запрос:
WHERE MATCH('@tags ="$query"')
Но, так как еще нужны заголовки, то попробовал объединить в один индекс:
sql_query = SELECT id, title, tags FROM
...
morphology_skip_fields = tags
morphology = stem_en # or stem_ru for example
min_word_len = 2
min_stemming_len = 4
expand_keywords = 1
index_exact_words = 1
charset_table = 0..9, english, russian
запрос на теги тот же, на заголовки
WHERE MATCH('@title $query')
и вроде все работает одинаково, но при общем индексе теги очень сильно тормозят (некоторые)
и профайлинг разворачивает в какое-то очень сложное многослойное OR AND дерево
Что я делаю не так во втором случае и как правильно. По идее, morphology_skip_fields должно дать такой же результат, как и в первом варианте.
Спасибо.