Действительно ли Полнотекстовый поиск является ответом?

Вот учебник , который может помочь объяснить, как работает I2C.

На плате, к которой вы подключились, справа есть линии SDA и SCL, которые являются двумя линиями данных для создания соединения I2C.

9
задан Ross 14 July 2009 в 14:05
поделиться

3 ответа

Проблема с '%keyword %' поиск типа состоит в том, что нет никакого способа эффективно искать на нем в постоянном столике даже при создании индекса на том столбце. Думайте о том, как Вы искали бы ту строку в телефонной книге. Нет на самом деле никакого способа оптимизировать его - необходимо просканировать всю телефонную книгу - и именно это MySQL делает, полное сканирование таблицы.

Если Вы изменяете тот поиск на '% ключевого слова' и используете индекс, можно получить очень быстрый поиск. Это кажется, что это не то, что Вы хотите, все же.

Таким образом, имея это в виду, я использовал полнотекстовое индексирование / ищущий вполне немного и здесь являюсь несколькими за и против:

Профессионалы

  • Очень быстро
  • Результаты возвратов, отсортированные по уместности (по умолчанию, хотя можно использовать любую сортировку),
  • Стоп-слова могут использоваться.

Недостатки

  • Только работы с таблицами MyISAM
  • Слова, которые слишком коротки, проигнорированы (минимум по умолчанию является 4 буквами),
  • Требует другого SQL в том, где пункт, таким образом, необходимо будет изменить существующие запросы.
  • Не соответствует частичным строкам (например, 'слово' не соответствует 'ключевому слову', только 'слово'),

Вот некоторая хорошая документация относительно полнотекстового поиска.

Другая опция состоит в том, чтобы использовать ищущую систему, такую как Сфинкс. Это может быть чрезвычайно быстро и гибко. Это оптимизировано для поиска и интегрируется хорошо с MySQL.

9
ответ дан 4 December 2019 в 19:36
поделиться

Вы могли бы также рассмотреть Zend_Lucene. Немного легче интегрироваться, чем Сфинкс, потому что это - чистый PHP.

1
ответ дан 4 December 2019 в 19:36
поделиться

Я предположил бы, что MySQL fulltext достаточен для Ваших потребностей, но стоит отметить, что созданный в поддержке не масштабируется очень хорошо. Для средних документов размера это начинает становиться неприменимым для размеров таблицы всего несколько сотен тысяч строк. Если Вы думаете, что это могло бы стать проблемой далее на Вас уже, должен, вероятно, изучить Сфинкса. Это становится defacto стандартом для пользователей MYSQL, даже при том, что я лично предпочитаю реализовывать свое собственное решение с помощью Java lucene.:)

Кроме того, я хотел бы упомянуть, что полнотекстовый поиск существенно отличается от стандарта КАК '%keyword '-поиск %. В отличие от ПОДОБНО-ПОИСКОВОГО полнотекстового индексирования позволяет Вам искать несколько ключевых слов, который не должен появляться друг прямо рядом с другом. Стандартные поисковые системы, такие как Google являются механизмами полнотекстового поиска, например.

2
ответ дан 4 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: