полнотекстовые шумовые слова - логика позади - PullRequest
0 голосов
/ 21 октября 2011

Как видно из заголовка, какова логика реализации шумовых слов при полнотекстовом поиске, чтобы избежать поиска этих слов?Я имею в виду, что если кто-то ищет «быть или не быть»?Результат не показан?Я буду очень признателен, если кто-то может рассказать мне логику, поскольку я собираюсь отключить ft_stopword_file.

Ответы [ 3 ]

2 голосов
/ 21 октября 2011

Причина этих стоп-слов заключается в том, что полнотекстовый индекс не становится раздутым. Это помогает в производительности и хранении. Если вы включите все стоп-слова (или отключите их), то это приведет к некоторому ухудшению полнотекстового поиска.

1 голос
/ 09 декабря 2011

Если вы отключите стоп-слова, производительность резко снизится. Обходной путь для этого заключается в том, чтобы либо проверить свой php-код, чтобы увидеть, встречаются ли стоп-слова в поисковом запросе, и адаптировать поиск «LIKE» для этих запросов, либо просто использовать sphinx в качестве поисковой системы. , Логика, стоящая за стоп-словами, состоит в том, чтобы отключить поиск слов типа «есть, есть, быть, не есть» и т. Д. И т. Д.

1 голос
/ 21 октября 2011

Логика заключается в том, что эти слова настолько распространены, что они будут создавать большие индексные узлы и ухудшать систему, а также будут бесполезны для пользователей, поскольку слова "to" и "be" настолько распространены и не имеют контекста.

Лучшим способом индексации было бы использование ngrams для поиска цитируемых фраз типа «быть», но такой вид индексации встречается довольно редко.

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