Solr загрузка информации без обработчика импорта данных - PullRequest
1 голос
/ 12 марта 2012

У меня 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 документов) ??)

спасибо за ваше время

Ответы [ 2 ]

1 голос
/ 17 марта 2012

Серьезно, напишите сценарий оболочки и используйте curl для отправки обновлений в SOLR.

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

Чтобы посмотреть пример сценария оболочки с примерами обновлений 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, то почему вы используете старую версию, если у вас есть новая, прямо здесь, прямо сейчас?

1 голос
/ 13 марта 2012

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

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

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

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

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

...