Hello,

I am using solr 4.2.1 and I have a autocomplete_edge type defined in
schema.xml


<fieldType name="autocomplete_edge" class="solr.TextField">
  <analyzer type="index">
    <charFilter class="solr.MappingCharFilterFactory"
mapping="mapping-ISOLatin1Accent.txt"/>
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.PatternReplaceFilterFactory" pattern="\s+"
replacement=" " replace="all"/>
    <filter class="solr.EdgeNGramFilterFactory" maxGramSize="30"
minGramSize="1"/>
   </analyzer>
  <analyzer type="query">
    <charFilter class="solr.MappingCharFilterFactory"
mapping="mapping-ISOLatin1Accent.txt"/>
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.PatternReplaceFilterFactory" pattern="\s+"
replacement=" " replace="all"/>
     <filter class="solr.PatternReplaceFilterFactory"
pattern="^(.{30})(.*)?" replacement="$1" replace="all"/>
  </analyzer>
</fieldType>

When I have a request with more then one word, for instance "rue de la", my
request doesn't match with my autocomplete_edge field unless I use quotes
around the query. In other words q=rue de la doesnt work and q="rue de la"
works.

I've check the request with debugQuery=on, and I can see in first case, the
query is splitted into words, and I don't understand why since my field
type uses KeywordTokenizerFactory.

Does anyone have a clue on how I can request my field without using quotes?

Thanks,
Elisabeth

Reply via email to