2015-05-19 6 views
0

В Solr индексируются некоторые данные, например:Solr поиск FIND_IN_SET как MySQL

Fieldname="29655,2542,21542", 
Fieldname="2542" 

который индексируется успешно.
Но мне нужны данные, которые доступны как 2542.

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

Пожалуйста, помогите мне решить эту проблему. Спасибо.

+1

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

+0

Поделитесь schema.xml или полем, используемым для поля ... –

ответ

1

Это зависит от цепочки анализа для поля. Вы можете использовать solr.PatternTokenizerFactory, чтобы разделить содержимое на отдельные токены на ,.

<fieldType name="commadelimited" class="solr.TextField"> 
    <analyzer> 
    <tokenizer class="solr.PatternTokenizerFactory" pattern="," /> 
    </analyzer> 
</fieldType> 

Вы затем ссылаться на этот FieldType при определении поля:

<field name="fieldname" type="commadelimited" indexed="true" stored="true" /> 
Смежные вопросы