2009-12-03 5 views
9

J'ai un problème avec la recherche SOLR. Quand je cherche une requête: chien * tout va bien, mais quand la requête est Chien * (avec la première lettre majuscule), je n'obtiens aucun résultat. Aucun conseil? Ma config:SOLR - recherche de caractères génériques avec lettre majuscule

<fieldType name="text" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer type="index"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> 
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/> 
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/> 
    </analyzer> 
</fieldType> 

Répondre

10

Réponse reçue sur une autre ressource. Le problème est: http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters "Sur les recherches génériques et floue, aucune analyse de texte n'est effectuée sur le mot de recherche."

Espérons que cela aidera quelqu'un.

+0

hey Yurish, merci. Je suis vraiment coincé. est-ce que "q.alt" est le seul moyen de faire des recherches génériques? Si oui, est-il possible d'utiliser "q.alt" et de mettre en surbrillance? s'il est possible de faire juste "q" avec wildcard, alors comment ?? – andy

+1

A quelles fins avez-vous besoin de wild card? Je suis en train de mettre en place Hunspell pour mon SOLR, parce que j'ai besoin de chercher en letton, mais il y a beaucoup de lois de grammaire qui freinent mon index. Si vous en avez besoin parce que "vos mains sont aussi liées" avec une certaine grammaire, que de penser à une autre façon. q.alt ne vous aidera pas, car il s'agit de "Une autre requête à utiliser dans les cas où la requête principale (q) n'est pas spécifiée (ou vide).". Je ne vois aucun cas, où il peut vous aider avec l'analyse de caractères génériques et de texte. – Yurish

0

Avez-vous essayé d'utiliser EdgeNGrams? Voir ma réponse à la question 2413946.

Questions connexes