Подтвердить что ты не робот

Показать содержимое индекса Lucene

Я пытаюсь отлаживать индексирующие документы в Lucene, и мне нужно увидеть содержимое индекса, чтобы я мог точно видеть, как индексировались документы. Предположительно, Luke делает это, но документации для этого нет вообще, и когда я указываю его на индексный каталог (у любого из них, хотя я не знаю, почему он не может понять, какой из них прав сам по себе), Я ничего не получаю. Конечно, есть простой способ сделать это?

4b9b3361

Ответ 1

Люк - простой способ сделать это. Вы запускаете его, просматриваете индекс и отправляетесь на гонки. Не может быть проще. Это сообщение в блоге позволяет использовать некоторые функции Luke, возможно, это поможет вам разобраться с ним.

Существуют и другие инструменты, такие как LIMO. Это хороший инструмент для этого, но начать с него легче, чем Luke.

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

Ответ 2

Я мало знаю о Люке, но я много работал с Луценой. Чтобы увидеть, что проиндексировано, может быть сложно, даже с Luke, потому что вы можете видеть только данные для сохраненных полей.

Для последнего проекта Lucene, который я сделал (на самом деле Solr), у меня было практически каждое поле, помеченное как индексированное, но не сохраненное. В этих случаях, чтобы проверить, имеет ли документ правильный индексированный термин, я бы запросил индекс для документов с данным первичным ключом и ожидаемым сроком. Если он совпадает, то я знаю, что он проиндексировал его с этим термином.

Например, чтобы увидеть, есть ли продукт 5 на английском языке, я бы сказал productId: 5 и lang: ru

Я знаю, что это прямо не отвечает на ваш вопрос о том, как использовать Люка, но это может быть альтернативой, если Люк не сможет вам помочь.

Ответ 3

Luke пытается показать значения в полях, которые индексируются, но не сохраняются, когда вы используете кнопку "Восстановить и отредактировать" на вкладке "Документы". Если я правильно прав, слова остановки не отображаются на дисплее "Восстановить и изменить" - вы видите такие вещи, как "null_1", "null_2" и т.д.

Ответ 4

Можно скомпилировать luke из источника при добавлении формата поиска Elastic в Luke MetaINF/services.

Просто следуйте этому подходу

Использование Luke с ElasticSearch

Это также можно выполнить, чтобы протестировать пользовательские форматы проводки/кодеки с помощью LUcene

ElasticSearch использует формат пользовательских сообщений (формат сообщений определяет, как инвертированный индекс представлен в памяти/на диске), и Luke не знает об этом. Чтобы сообщить Люку о формате публикации ES, добавьте класс SPI, выполнив следующие шаги.

  • Репозиторий источника Clone Luke:

2. Добавьте зависимость от вашей требуемой версии ElasticSearch к файлу pom проектов Luke:

<!-- ElasticSearch -->
<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>1.1.1</version>
</dependency>
  1. Скомпилируйте файл juke jar (создает цель /luke -with-deps.jar):

    $mvn package

4.Unpack Lukes список известных форматов проводок во временный файл:

$ unzip target/luke-with-deps.jar META-INF/services/org.apache.lucene.codecs.PostingsFormat -d ./tmp/
Archive:  target/luke-with-deps.jar
  inflating: ./tmp/META-INF/services/org.apache.lucene.codecs.PostingsFormat
  1. Добавьте форматы публикации ElasticSearch в файл temp:

    $echo "org.elasticsearch.index.codec.postingsformat.BloomFilterPostingsFormat"

    ./TMP/META-INF/услуги/org.apache.lucene.codecs.PostingsFormat   $ echo "org.elasticsearch.index.codec.postingsformat.Elasticsearch090PostingsFormat"   . /tmp/META -INF/services/org.apache.lucene.codecs.PostingsFormat   $ echo "org.elasticsearch.search.suggest.completion.Completion090PostingsFormat"   . /tmp/META -INF/services/org.apache.lucene.codecs.PostingsFormat

  2. Переустановите измененный файл обратно в банку:

    $jar -uf target/luke-with-deps.jar -C tmp/META-INF/services/org.apache.lucene.codecs.PostingsFormat

  3. Запустить Luke

    $./Luke.sh