Какую реализацию индекса (каталога?) Использовать для запросов простого подсчета? - PullRequest
0 голосов
/ 27 февраля 2019

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

Цель: Индексировать 2 миллиона небольших документов (только заголовок + теги,при необходимости также может храниться в одном поле) и выполнять ~ 250 тыс. запросов простого подсчета.Это должно быть обработано как можно быстрее.Индекс будет иметь размер всего пару сотен МБ и может храниться в оперативной памяти.

Параметры:

  • RamDirectory
    Я получил этоработает, и он индексирует 100 тыс. документов за ~ 1,6 секунды, что приятно.Проблема в том, что RamDirectory устарела, и в документах рекомендуется использовать MMapDirectory, но так как это файловое решение, я беспокоюсь о производительности (которая должна быть максимально быстрой).
  • MemoryIndex
    Эта вещь сбивает с толку.Он описывается как «полнотекстовый поисковый индекс Apache Lucene для основной памяти одного документа».Я попробовал пример, но запрос подсчета всегда возвращает «1» (возможно, потому что это индекс «одного документа»).Кажется, не подходит для моего случая.
  • InstantiatedIndex
    Кажется, это еще одна реализация в памяти, но, как кажется, это был экспериментальный компонент, и он был удален.

RamDirectory работает нормально для меня, только предупреждение об устаревании просто беспокоит.

У меня есть другие варианты?Спасибо за любые предложения!

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