2014-10-24 2 views
0

In Solr, у меня есть поле, называемое Code_string и имеет значение, как S102.103.111_1, S102.103.111_2Solr не возвращают результаты

при поиске с «S102.103.111» .it это меня возвращение нулевые результаты.

Любые входы на нем?

ответ

2

Как сказал Николай, поля типа String по умолчанию не анализируются. Но текстовые поля text_general будут анализироваться. Вы можете просто изменить свое имя поля в Code_string_txt, тогда оно будет доступно для поиска. В противном случае, определите пользовательское поле в конфе/schema.xml как этот

<field name="Code_string" type="text_general" indexed="true" stored="true" multiValued="true"/> 
+1

Конечно, это будет работа, но 'StandardTokenizer' расщепляется пример строка двух лексем' S102.103.111' и '1'. Как я понимаю, проблема @sree может быть более подходящей особенностью токенизатора, которая предоставляет токены типа 'S102.103.111',' S102.103' и 'S102'. – Nikolay

+0

Да, я согласен с тобой @Nikolay ... – Kumar

1

Поля типа String не анализируются по умолчанию. (Предполагаетесь, что вы используете StrField, а также проверить Solr документации: Field Types Included with Solr)

Так что вам нужно либо использовать запрос по шаблону: S102.103.111* или определить собственный тип поля с пользовательским анализатором (Посмотрите на Understanding Analyzers, Tokenizers, and Filters).

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