Обновить индекс Solr 1.4 до Solr 3,3? - PullRequest
7 голосов
/ 11 июля 2011

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

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

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

Ответы [ 2 ]

7 голосов
/ 26 августа 2011

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

  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 по-прежнему будет предполагать, что вы используете старый формат индекса.1017 *

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

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>
0 голосов
/ 11 июля 2011

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

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

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

...