Изменение Lucene Searcher при запуске Tomcat - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть индекс, который должен обновляться так часто (см. Индекс Lucene и поиск одновременно ).Итак, сначала я делаю index-1, а затем добавляю lucene IndexSearcher.Веб-приложение на Tomcat использует его в сервлете для поиска пользователей.Затем я делаю индекс-2 (обновляется!).Я хочу изменить IndexSearcher на новый индекс и удалить старый индекс (index-1), не закрывая мое веб-приложение на Tomcat.Есть идеи!?

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Используйте новый NRTManager.Повторное открытие целых индексов - ПЛОХО.

0 голосов
/ 16 февраля 2012

Вам не нужны два индекса. Вы можете использовать только один IndexWriter в приложении, и при каждом новом поиске создайте IndexSearch следующим образом


  IndexWriter indexWriter;

  public List search(){
    IndexReader indexReader = IndexReader.open(indexWriter, false);
    IndexSearcher indexSearcher = new IndexSearcher(indexReader); 

    //do search and return answer

  }

В этом случае производительность будет довольно хорошей. Я использовал Lucene 3.5.

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