2009-06-23 2 views
2

В моем проекте весь поиск и список содержимого зависит от Lucene. У меня нет проблем с производительностью. Тем не менее, проект находится в стадии разработки и имеет долгий путь в производство.Чрезмерное использование люцен хорошо?

Я должен выяснить проблемы с производительностью до завершения проекта в большой структуре. Возможно ли чрезмерное использование люцена или нет?

+10

Я бы сказал, что чрезмерное, по определению, означает нехорошее. http://www.merriam-webster.com/dictionary/excessive;) –

+0

Вы должны описать некоторые примеры.Возможно, вы считаете, что ваше использование чрезмерно, но это совсем не так. –

+0

Извините за путаницу. Все приложение построено на поиске Lucene. Я думал, что я использую lucene очень сильно. – Shashi

ответ

7

В качестве примера у меня есть примерно 3 ГБ текста в индексе Lucene, и он работает очень быстро (миллисекундное время отклика на поиск, фильтры и сортировки). Этот индекс содержит около 300 000 документов.

Надеюсь, это придало определенный контекст вашим проблемам. Это происходит в производственной среде.

0

Что вы определяете как чрезмерное?

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

Возможно, вы можете получить дамп данных для проверки производительности в реальном сценарии.

3

Lucene очень зрелый и имеет очень хорошую производительность, благодаря чему он был разработан. Однако это не СУБД. Объем тонкой настройки, который вы можете сделать для повышения производительности, более ограничен, чем механизм базы данных.

Вы не должны полагаться только на Lucene, если:

  • Вам нужно частые обновления
  • Вам нужно сделать присоединившихся запросы
  • Вам нужны сложные решения резервного копирования

Я бы сказал, что если ваш проект достаточно велик, чтобы нанять DBA, вы должны использовать один ...

Выполнять Разумеется, я вижу приемлемую производительность с индексом 400 ГБ на 10 серверах (один (4 ГБ, 2CPU) сервер может обрабатывать 40 ГБ индекса lucene, но не более того. YMMV).

+1

Что вы считаете «приемлемым показателем»? – Avi

1

Из-за чрезмерного, вы имеете в виду обширный/эксклюзивный?

Производительность Lucene в целом очень хорошая. Недавно я провел некоторые тесты производительности для Lucene на моем рабочем столе с QuadCore @ 2,4 ГГц 2,39 ГГц

Я запускал различные поисковые запросы по индексу диска, состоящему из 10-миллиметровых документов, и самый медленный запрос (MatchAllDocs) возвращал результаты в течение 1500 мс. Поисковые запросы с двумя или более поисковыми запросами будут возвращаться около 100 мс.

Есть тонны настроек производительности, которые вы можете сделать для Lucene, и они могут значительно увеличить скорость поиска.

0

Мы используем lucence для включения поиска по принципу «вперед». Это означает, что для каждой введенной буквы она попадает в индекс яркости, чтобы получить результаты. Множество это для десятков текстовых полей на нескольких интерфейсах и еще десятков сотрудников, печатающих, без жалоб и чрезвычайно быстрого времени отклика. (На самом деле он работает быстрее, чем любое другое решение, которое мы пробовали).

Смежные вопросы