Может ли кто-нибудь рекомендовать хорошую книгу (ы)/документ (ы)/статью для полнотекстового поиска (и, возможно, индексацию в целом). Я довольно анальный, чтобы понять, что происходит за кулисами в моих приложениях, и мне трудно понять, почему Sphinx и другие внешние FTS оставляют MySQL/MyISAM в пыли.
Полный текст для поиска?
Ответ 1
Для понимания полнотекстового поиска снизу вверх, я рекомендую "Управление гигабайтами".
Ответ 2
Я нашел страницу полнотекстового поиска postgres http://www.postgresql.org/docs/8.3/static/textsearch.html очень интересную.
В частности: http://www.postgresql.org/docs/8.3/static/textsearch-intro.html
Операторы текстового поиска уже много лет существуют в базах данных. PostgreSQL имеет ~, ~ *, LIKE и ILIKE операторов для текстовых типов данных, но им не хватает многих необходимых свойств, необходимых современным информационным системам:
- Нет лингвистической поддержки, даже для английского. Регулярные выражения недостаточно, потому что они не могут легко обрабатывать производные слова, например, удовлетворяет и удовлетворяет. Вы можете пропустить документы, содержащие удовлетворительные, хотя вы, вероятно, хотели бы найти их при поиске удовлетворения. Можно использовать OR для поиска для нескольких производных форм, но это является утомительным и подверженным ошибкам (некоторые слова могут иметь несколько тысяч производные).
- Они не обеспечивают упорядочение (ранжирование) результаты поиска, что делает их неэффективен, когда тысячи найдены совпадающие документы.
- Они, как правило, медленны, потому что есть нет поддержки индексов, поэтому они должны обрабатывать все документы для каждого поиск.
Ответ 3
Существует отличная бесплатная книга по поиску информации (Кристофер Д. Мэннинг, Прабхакар Рагхаван и Хинрих Шютце, "Введение в информационный поиск", Cambridge University Press, 2008), включая текстовый поиск, свободный (законно) здесь.
Ответ 4
Я бы начал с this. Это для SQL Server, но чтение не повредит, так как многие концепции, кроме деталей реализации, будут (очень вероятно) одинаковыми для БД.
Ответ 5
"Объектно-ориентированная архитектура для поиска текста"