ASP.NET Building Search, глядя на Lucene.NET - PullRequest
1 голос
/ 28 марта 2011

Я ищу поиск, который имеет этот базовый поисковый функционал

  • Быстрый поиск текста с проверкой орфографии и, возможно, также "Вы имели в виду ..."
  • Фасады.

Итак, я смотрю на Lucene.NET.или просто нормальное полнотекстовое индексирование.

Размер моей базы данных составляет около 8000 записей компаний.Просто интересно, стоит ли Lucene.net хлопот или я просто построю проверку орфографии и поиск по Фасаду поверх обычного индексированного поиска SQL

1 Ответ

1 голос
/ 28 марта 2011

Мы используем Lucene в нашей платформе электронной коммерции, и мы на 100% удовлетворены этим. До этого у нас была функция поиска, которая просто запрашивает базу данных, и это решение оказалось неприемлемым по ряду причин:

  1. Это не так быстро, поэтому мы не могли представить себе функциональность, подобную "Google Instant Search" (которую мы реализовали после перехода на решение на основе Lucene).

  2. Как только пользовательские запросы стали более сложными (например, применяя множественные критерии / фильтры поиска), стало довольно сложно поддерживать время отклика относительно небольшим (а размер и сложность операторов SQL повышались чрезвычайно).

  3. Мы ввели наши собственные (или повторно реализованные существующие) алгоритмы ранжирования, чтобы результаты поиска могли «совпадать» с тем, что на самом деле имел в виду пользователь.

Я не говорю, что подход на основе баз данных всегда плох для таких вещей (скорее всего, это просто плохой дизайн).

Также я всегда имею в виду эту знаменитую фразу: «Никогда не стоит недооценивать важность поста». У вас сейчас может быть 8 тыс. Записей, но вы не уверены на 100%, как ваша система будет развиваться с течением времени. Через год ваши клиенты будут запрашивать более расширенные функциональные возможности, чем простой текстовый поиск + ваша база данных вырастет до миллионов записей. Подумайте об этом, прежде чем разрабатывать свою поисковую инфраструктуру, иначе вам, вероятно, придется полностью переписать ее.

P.S. Вот пример использования средства проверки орфографии для Lucene: Функция «Вы имели в виду?» В Lucene.net .

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