Есть ли что-то ужасное в установке ft_min_word_len = 2 для поиска MySQL FULLTEXT? - PullRequest
1 голос
/ 30 июля 2009

Чтобы выполнить поиск FULLTEXT по 2-буквенным фразам, таким как " PR Manager" и " MS Word", я добавил ft_min_word_len = 2 в конфигурационный файл MySQL (/etc/mysql/my.cnf).

Что-то особенно не так с этим? Это снизит производительность? Это предотвратит масштабирование до больших наборов данных?

Любые комментарии приветствуются.

Ответы [ 3 ]

2 голосов
/ 30 июля 2009

Все двухбуквенные комбинации должны быть проиндексированы, что увеличит размер ваших поисковых индексов и замедлит процесс индексации. Это должно оказать небольшое влияние на скорость самих поисков. Вы также можете столкнуться с большим количеством слов, которые станут стоп-словами и станут непостижимыми. Маловероятно, что «PR» и «MS» станут стоп-словами, но «IT» весьма вероятно, учитывая, что FTS обычно не учитывает регистр.

2 голосов
/ 30 июля 2009

Нет, это может только увеличить размер вашего полнотекстового словаря, но не окажет особого влияния на эффективность поиска.

1 голос
/ 27 мая 2016

Согласно документации , min_word_len будет только уменьшать размер вашего индекса.

К вашему сведению, min_infix_len - это отдельная история. Предполагая 2.0.1-бета или выше, Sphinx использует dict = ключевые слова .

Необходимо знать две вещи:

  • Как только вы укажете min_infix_len, Sphinx будет хранить суффиксы слов, чтобы разрешить поиск по инфиксам / суффиксам.

  • Уменьшение min_infix_len не уменьшает размер индекса (как это было со старым crc индексом). Это потому, что все суффиксы слова все еще должны быть сохранены. Таким образом, min_infix_len уменьшает только результаты , а не размер индекса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...