Почему бы Solr не индексировать некоторые сегментированные слова

Я пытаюсь проиндексировать некоторые китайские документы с помощью Solr, но похоже, что Solr не индексирует некоторые сегментированные слова.

Анализатор, который я использую, является анализатором IK http://code.google.com/p/ik-analyzer/.

Поле для индексации:

 <field name="hospital_alias_splitted" type="cn_ik" indexed="true" stored="true" multiValued="true" omitNorms="false"/>

cn_ik определение:

<fieldType name="cn_ik" class="solr.TextField" positionIncrementGap="100">
<analyzer> 
    <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" useSmart ="false"/>
</analyzer>

Например, слово, которое будет проиндексировано, это "AB" (без кавычек). После сегментации слов с использованием китайского анализатора я получил 3 токена, это "AB", "A" и "B".

Как мы видим, первый токен "AB" охватывает следующие два токена.

После передачи этих токенов Solr, похоже, что Solr только индексы "AB", "A" и "B" игнорируются. Потому что, когда я ищу "А" или "Б", ничего не получается.

Я предполагаю, что когда Solr индексирует "AB", оно уже достигает конца индексируемого слова, поэтому "A" и "B" игнорируются.

Использование Люка и обработчика запросов анализа не показывает мне больше подсказок. Я не уверен, что это ошибка или особенность Solr.

Любой комментарий или предложение?

Спасибо:)

1 ответ

(Поскольку я не могу комментировать вопрос, я пишу здесь)

Я бы порекомендовал вам попробовать это с разными анализаторами. Поскольку вы не сообщили нам свой анализатор, я предполагаю, что вы используете что-то по умолчанию, например, CJK и так далее.

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

Было бы очень приятно увидеть некоторую часть вашей схемы об этом поле...

редактировать: вы также можете проверить эту ссылку

Другие вопросы по тегам