Solr загружает информацию без обработчика импорта данных

StackOverflow https://stackoverflow.com//questions/9671624

  •  12-12-2019
  •  | 
  •  

Вопрос

У меня есть 700.000 названий улиц, 8111 названий муниципалитетов и 80333 почтовых индекса населенных пунктов.Я хотел бы проиндексировать всю эту информацию в solr.Пользователь хочет выполнить поиск этой информации с помощью формы автозаполнения ajax.Я доказал это с помощью небольшого количества данных и поведения формы автозаполнения ajax, все в порядке.

 <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.StopFilterFactory"
            ignoreCase="true"
            words="stopwords.txt"
            enablePositionIncrements="true"
            />
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.StopFilterFactory"
            ignoreCase="true"
            words="stopwords.txt"
            enablePositionIncrements="true"
            />
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
  </analyzer>
</fieldType>

Проблема возникает при загрузке всех данных в solr

  • Как я должен загрузить информацию на сервер solr (я нахожусь в приложении grails, и мне нужно загрузить экземпляры, содержащие информацию, без обработчика ввода данных) Сегодня я потратил на это много часов, и, наконец, консоль grails вышла из строя:( --> должен ли я использовать скрипт grails вместо того, чтобы создавать службу и выполнять ее с помощью консоли grails??
  • Или я должен использовать обработчик ввода данных, чтобы загрузить его быстрее??Могу ли я объединить строковые значения из разных столбцов разных таблиц с помощью обработчика ввода данных??

(Это нормально, иметь разные документы для каждого из них (700.000 + 8111 + 80.333 документы) ??)

спасибо, что уделили мне время

Это было полезно?

Решение

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

Или я должен использовать обработчик ввода данных, чтобы загрузить его быстрее??

DIH будет довольно быстрым, и до тех пор, пока эта информация меняется не очень часто, было бы неплохо сделать это таким образом.

Могу ли я объединить строковые значения из разных столбцов разных таблиц с помощью обработчика ввода данных??

Да;в data-config.xml вы даете конкретные SQL запрос и может использовать встроенную конкатенацию базы данных (например || в oracle).

Другие советы

Серьезно, напишите скрипт оболочки и используйте Curl, чтобы отправить обновления на Solr.

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

Для скрипта Shell Shell в комплекте с образцом обновления Solr, загрузите двоичный файл Solr, либо Apache-Solr-3.5.0.tgz, либо Apache-solr-3.5.0.zip из зеркала рядом с вами. Найдите зеркало на http://lucene.apache.org/solr/downloads.html

Распаковать архив, перейдите в примерный каталог и следуйте этим инструкциям http://lucene.apache.org/solr/tutorial.html

Если вы находитесь в Unix, просто используйте Post.sh.

Кстати, проверьте версию Solr, которую вы установили на своем сервере. Если это не 3.50, то почему вы используете старую версию, когда у вас новее прямо здесь, прямо сейчас?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top