Каковы недостатки использования Lucene? - PullRequest
6 голосов
/ 31 декабря 2010

Я думаю об использовании Lucene в моем проекте для очень быстрого поиска. Я знаю, что Lucene создает свои собственные файлы, где он хранит все данные / индексы.

Интересно, каковы недостатки использования Lucene? Есть ли?

Вам нужно что-то делать с файловой базой данных или она прекрасно работает без посторонней помощи?

P.S. Я знаю, что есть также Lucene .NET, и я уверен, что там применяются те же правила.

Ответы [ 4 ]

10 голосов
/ 31 декабря 2010

Lucene великолепен. Очень гибкий, удивительно быстрый и надежный API. Список рассылки чрезвычайно полезен.

Файлы требуют небольшого обслуживания, но это можно сделать с помощью предоставленных инструментов. Первостепенное значение имеет оптимизация индекса в отдельных случаях, но это необходимо, только если вы регулярно обновляете индекс.

Я бы тоже посоветовал заглянуть в Солр. По сути, это веб-приложение и инструменты, которые находятся поверх Lucene. Это упрощает создание новых индексов, их оптимизацию, а также обеспечивает синхронизацию главного / подчиненного для масштабируемого поискового кластера. Это, конечно, зависит от ваших реальных потребностей.

В качестве личного примера я использовал поисковый индекс для крупной, известной игровой компании. Индекс имел сотни тысяч записей на нескольких языках (по всему миру) и локали. Каждый день он выполнял миллион запросов в кластере, практически не используя процессор и разумное количество памяти. Он подвергался нагрузочной проверке примерно до 300 миллионов запросов в день на имеющемся у нас оборудовании и линейно масштабировался, просто добавляя больше блоков в cluser. Solr и Lucene были основными инструментами для этого.

Если бы у меня был , чтобы дать обратную сторону, это была бы кривая обучения. Здесь есть что понять, и если вы хотите действительно оптимизированное решение, вам нужно хорошо это знать. Тем не менее, это произойдет с любым инструментом поиска, который вы используете, если вы делаете это самостоятельно. Документация, вики и список рассылки обеспечивают достаточную поддержку для этого роста.

2 голосов
/ 29 января 2011

В Lucene есть проблема с масштабируемостью.Его производительность ухудшается, когда индекс становится все больше и больше.

2 голосов
/ 02 января 2011

Lucene отлично работает для многих людей и компаний .Ваш пробег может варьироваться, хотя.Возможной проблемой является модель оценки Lucene - в ней используется комбинация TF / IDF и булева оценка, в то время как другие инструменты IR используют вероятностный BM25, который сильнее.Тем не менее, вы можете работать с Lucene в течение многих лет, и результаты поиска будут достаточно хорошими.Кроме того, масштабировать многие миллионы документов нелегко.

Это сводится к конкретному случаю использования.Лучше всего начать тестирование, используя Solr и посмотреть, подходит ли оно для ваших нужд.

2 голосов
/ 31 декабря 2010

У меня ограниченный опыт работы с Lucene, но пока это было здорово. Недостатки, которые я вижу, в основном с точки зрения бизнеса:

  1. Я должен активно аргументировать используя Lucene моему боссу, по умолчанию мы бы использовали SQL Server. Чтобы сделать Переключатель мне придется доказать без сомнение в том, что Lucene работает лучше (и не только похожие) для использования дело у нас есть. Я думаю, что это идет на "Никто никогда не был уволен за покупка оборудования IBM "синдром".
  2. Текущая разработка / исправление ошибок для Lucene.Net, в частности, сомнительны в этом пункт, снова более жесткая продажа без этот. Я надеюсь, что сообщество может ралли.
...