поиск solr, избегайте defaultSearchField

У меня есть проблема с поиском solr, в настоящее время наша схема настроена следующим образом.

<field name="trading_name" type="trading_name" indexed="true" stored="false" required="true" multiValued="false" omitNorms="true" />
<field name="trading_name_notoken" type="string" indexed="true" stored="false" required="true" multiValued="false" omitNorms="true" />
...
<copyField source="trading_name" dest="trading_name_notoken" />
...
<defaultSearchField>trading_name</defaultSearchField>
...
<fieldType name="trading_name" class="solr.TextField" positionIncrementGap="100">
 <analyzer>...

Я хочу искать в поле Trading_name_notoken вместо поля Trading_name, как мне построить свой поисковый запрос?

Ваше здоровье

Джеймс


person James Lin    schedule 24.11.2010    source источник


Ответы (3)


Используйте параметр df (поле по умолчанию):

q=some query&df=trading_name_notoken
person Mauricio Scheffer    schedule 24.11.2010
comment
использование df не возвращает результатов поиска... есть идеи? - person James Lin; 24.11.2010
comment
поиск типа забытой строки чувствителен к регистру - person James Lin; 24.11.2010
comment
Есть ли способ указать регистронезависимый поиск в запросе? Или мне нужно изменить схему, чтобы иметь поле для нечувствительного поиска? - person James Lin; 24.11.2010
comment
@James: чувствительность к регистру зависит от каждого типа поля. - person Mauricio Scheffer; 24.11.2010
comment
Я хотел бы иметь нечувствительный к регистру тип поля строки, возможно ли это? ваше здоровье. - person James Lin; 24.11.2010
comment
@James: строковый тип поля индексируется как есть по умолчанию, но вы всегда можете настроить тип поля и/или создать новый. - person Mauricio Scheffer; 25.11.2010

Я добавляю дополнительное поле в SOLR, которое содержит строчную версию Trading_name, надеюсь, это решит мою проблему.

person James Lin    schedule 24.11.2010

Все, что вам нужно, это анализатор, который записывает термины в этом поле в нижнем регистре. Взгляните на этот LowerCaseTokenizerFactory.

person zinan.yumak    schedule 26.11.2010