Nano Hash - криптовалюты, майнинг, программирование

Обновить индекс solr 1.4 до solr 3.3?

У меня есть существующая сборка индекса с использованием apache solr 1.4.

Я хочу использовать этот существующий индекс в версии 3.3. Как вы знаете, формат индекса изменился после 3.x, так как же это возможно сделать?

Я экспортировал существующий индекс (в версии 1.4) с помощью Luke в XML.

11.07.2011

Ответы:


1

Есть два способа сделать это:

  1. если ваш индекс неоптимизирован, просто оптимизируйте его - это попутно обновит формат файла.

  2. если ваш индекс уже оптимизирован, вы не можете этого сделать. Вместо этого используйте инструмент командной строки, поставляемый с solr (ваш путь может отличаться от моего

    java -cp work/Jetty_0_0_0_0_8983_solr.war__solr__k1kf17/webapp/WEB-INF/lib/lucene-core-3.3.0.jar org.apache.lucene.index.IndexUpgrader -verbose /path/to/index/directory
    

Однако обратите внимание, что это только изменяет формат файла — это не остановит предупреждения об устаревании, потому что, если вы не укажете иное, solrconfig.xml по умолчанию по-прежнему предполагает, что вы используете старый формат индекса. см. http://www.mail-archive.com/[email protected]/msg23233.html

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

WARNING: LowerCaseFilterFactory is using deprecated LUCENE_24 emulation. You should at some point declare and reindex to at least 3.0, because 2.x emulation is deprecated and will be removed in 4.0

пока вы не сообщите solrconfig.xml, что готовы использовать все функции нового формата индекса. Вы делаете это, добавляя следующее в solrconfig.xml (на верхнем уровне, сразу после параметра abortOnConfigurationError).

<!-- Controls what version of Lucene various components of Solr
     adhere to.  Generally, you want to use the latest version to
     get all bug fixes and improvements. It is highly recommended
     that you fully re-index after changing this setting as it can
     affect both how text is indexed and queried.
  -->
<luceneMatchVersion>LUCENE_33</luceneMatchVersion>
26.08.2011

2

Если у вас есть данные: лучший способ — проиндексировать все новые данные в solr 3.3. Вы можете использовать обработчик импорта данных для индексации экспортированных XML-файлов.

Если создание нового индекса для вас не решение, у вас есть другие возможности:

Насколько я знаю, Solr 3.3 умеет читать старые индексы. Таким образом, одной из идей может быть использование осколков. Один сегмент для старых данных (только для чтения), а другой сегмент для новых данных. К сожалению, в этом решении вы не сможете изменить старые данные.

11.07.2011
  • 1. Я скопировал старый schema.xml (1.4 v) на новый сервер (3.3) 2. Я скопировал старый индекс в новый индексный каталог в 3.3 и перезапустил сервер, все прошло нормально! Странно то, что где-то в примечаниях к выпуску 3.3 я читал, что новая структура индексов несовместима со старыми... В любом случае, я рад, что все прошло хорошо :) 12.07.2011
  • что новая структура индексов несовместима со старыми... да... думаю, это правильно. Но я думаю, что ваша система 3.3 работает в режиме совместимости и не использует новый формат индекса. Вероятно, у вас пока индекс 1.4, который не поддерживается в lucene 4 — если вы думаете об апгрейде в будущем. 12.07.2011
  • Вы правы, но как сделать апгрейд? Это был мой главный вопрос. 13.07.2011
  • Не уверен, но если вы переходите на 3.x, обновления означают переиндексацию. Я не уверен, предоставит ли solr4 инструмент миграции. 13.07.2011
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..