Мой индекс:Sphinx матч инфикс один символ
index my_index
{
# ...
type = rt
phrase_boundary = ., ?, U+2026
charset_table = 0..9, english, russian, _
dict = keywords
min_word_len = 1
min_infix_len = 1
preopen = 1
rt_field = title
infix_fields = title
}
Я использую sphinxsearch 2.2.7. Я пытаюсь искать со следующим запросом:
mysql> select COUNT(*) from my_index WHERE match('*cc*');
+----------+
| count(*) |
+----------+
| 63 |
+----------+
1 row in set (0.00 sec)
Он хорошо работает.
Но если я пытаюсь найти один символ, это дает никаких результатов:
mysql> select COUNT(*) from my_index WHERE match('*c*');
+----------+
| count(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)
Я пробовал тот же конфиг с индексом MySQL-DataSource основе, получили те же результаты. Да, я переделывал много раз после реконфигурации. Это ошибка в сфинксе?
EDIT: показать meta; и показать план; Результаты:
mysql> select COUNT(*) from my_index WHERE match('*cc*');
+----------+
| count(*) |
+----------+
| 63 |
+----------+
1 row in set (0.00 sec)
mysql> SHOW PLAN;
+------------------+------------------------------------------+
| Variable | Value |
+------------------+------------------------------------------+
| transformed_tree | AND(KEYWORD(*cc*, querypos=1, expanded)) |
+------------------+------------------------------------------+
1 row in set (0.00 sec)
mysql> SHOW META;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| total | 1 |
| total_found | 1 |
| time | 0.000 |
| keyword[0] | *cc* |
| docs[0] | 63 |
| hits[0] | 63 |
+---------------+-------+
6 rows in set (0.00 sec)
mysql> select COUNT(*) from my_index WHERE match('*c*');
+----------+
| count(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)
mysql> SHOW PLAN;
+------------------+-----------------------------------------+
| Variable | Value |
+------------------+-----------------------------------------+
| transformed_tree | AND(KEYWORD(*c*, querypos=1, expanded)) |
+------------------+-----------------------------------------+
1 row in set (0.00 sec)
mysql> SHOW META;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| total | 0 |
| total_found | 0 |
| time | 0.000 |
| keyword[0] | *c* |
| docs[0] | 0 |
| hits[0] | 0 |
+---------------+-------+
6 rows in set (0.00 sec)
Что показывает 'SHOW META'? Также стоит включить 'SET PROFILING = 1', а затем опубликовать результат' SHOW PLAN' – barryhunter
добавлено show meta; и показать план; результаты: выглядит семантически корректно. – Nikita
Я сообщил об этом как об ошибке: http://sphinxsearch.com/bugs/view.php?id=2214 – Nikita