2010-11-24 16 views
1

J'ai un problème de recherche Solr, actuellement notre schéma est configuré ont les éléments suivantsrecherche Solr, éviter defaultSearchField

<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>... 

Je veux lancer une recherche sur le terrain trading_name_notoken au lieu de trading_name domaine, comment dois-je construire ma requête de recherche?

Vive

James

Répondre

0

Utilisez le paramètre df (champ par défaut):

q=some query&df=trading_name_notoken 
+0

en utilisant df ne renvoie aucun résultat de recherche ... des idées? –

+0

La recherche de type chaîne de caractères oubliée est sensible à la casse –

+0

Existe-t-il un moyen de spécifier une recherche insensible à la casse dans la requête? Ou dois-je modifier le schéma pour avoir un champ permettant une recherche insensible? –

0

J'ajoute un champ supplémentaire dans SOLR qui contient la version minuscule de trading_name, nous espérons qu'il sera trier mon problème

0

Tout ce que vous avez besoin est un analyseur qui minuscules termes sur ce domaine. Jetez un oeil à ce LowerCaseTokenizerFactory