2012-01-13 5 views
1

У меня есть сценарий, где мне нужно построить многоязычный индекс. специально для двух скриптов, эти два сценария совершенно разные (хинди и английский). поэтому их стволовые клетки и лемматисты не влияют друг на друга. Моя индексация будет огромной, содержащей миллионы документов. от follwing 3, который подходит для индексирования ?? :Подход индексирования Solr

  1. Отдельное поле для двух языков. преимущество - а) поскольку сценарии разные, я могу использовать оба анализатора на нем. b) более быстрый поиск, потому что поля будут ограничены. c) необходимо будет уделить внимание проблеме релевантности.

  2. Поля, специфичные для языка: а) возможно более медленный поиск из-за многих полей.

  3. многоядерный подход: а) проблема при обработке многоязычных документов. б) администрация будет сложной. c) поиск по языку будет простым.

ответ

1

Предлагаю отдельные сердечники. ИМХО, это просто правильный путь.

Вам не обязательно использовать автоматическое распознавание языка Solr, поскольку вы определяете анализаторы (lemmatizers/stemmers) для каждого ядра/языка отдельно. only Недостаток - это конфигурационные элементы конфигурации (большинство настроек одинаковы для обоих сердечников).

Смотрите эту недавнюю, аналогичную должность:

Applying Language Specific Analyzer Dynamically before Solr Indexing

+0

спасибо mbonaci, я не знаю язык данных, который я собираюсь индексировать. есть ли способ динамического обнаружения языка и выбора правильного ядра? –

+0

Обнаружение языка: http://wiki.apache.org/solr/LanguageDetection http://lucidworks.lucidimagination.com/display/solr/Detecting+Languages+During+Indexing –

+0

Спасибо mbonaci. Я проверил обнаружение этого языка. но он неправильно определяет язык. точность в моем случае составляет менее 10%. даже кажется, что он не использует резервное поле. для всего английского контента он обнаруживает язык, который не является белым. Он должен обнаруживать только белые перечисленные языки, и если белый список языков не соответствует ему, он должен возвращаться к резервному языку. любые другие указатели на использование langdetect, кроме вики. предложите ????? –

1

Пожалуйста, прочтите, что: Apache Solr multilanguage search, что должно помочь. Если у вас есть товар, я бы выбрал вариант 2 (я использую эту опцию).

+0

благодаря Фуси. Я думаю, используя подход, предложенный вами, будет ли медленный поиск из-за поиска во многих полях для всех запросов, либо запрос находится в языке1 или языке2 ???? –

+0

Это возможно, однако я этого не чувствую. По сравнению с затратами времени, генерирующими результаты, Solr анализирует их и представляет на странице. Вы всегда можете сначала запросить язык по умолчанию, и если вы не получите каких-либо хитов, попробуйте альтернативный язык, который, однако, займет больше времени в сумме :) – Fuxi

Смежные вопросы