When I run it, with that fieldType, it seems to work for me. Here's a sample
query output

<?xml version="1.0" encoding="UTF-8"?>
<response>

<lst name="responseHeader">
 <int name="status">0</int>
 <int name="QTime">17</int>
 <lst name="params">
  <str name="indent">on</str>
  <str name="start">0</str>

  <str name="q">xtext:I-Car</str>
  <str name="version">2.2</str>
  <str name="rows">10</str>
 </lst>
</lst>
<result name="response" numFound="2" start="0">
 <doc>
  <str name="id">ALLCAPS</str>

  <str name="xtext">I-CAR</str>
 </doc>
 <doc>
  <str name="id">CAMEL</str>
  <str name="xtext">I-Car</str>
 </doc>
</result>
</response>


Did I miss something?

Could you show the output with debugQuery=on for the user's failing query?
Assuming I did this right, I'd next look for is a copyField. Is the user's
query really being executed against this field?

Schema.xml could be useful, too.

Tom

On Tue, Apr 20, 2010 at 10:19 AM, Charlie Jackson <
charlie.jack...@cision.com> wrote:

> I've got an odd scenario with a query a user's running. The user is
> searching for the term "I-Car". It will hit if the document contains the
> term "I-CAR" (all caps) but not if it's "I-Car".  When I throw the terms
> into the analysis page, the resulting tokens look identical, and my
> "I-Car" tokens hit on either term.
>
>
>
> Here's the definition of the field:
>
>
>
>    <fieldType name="text" class="solr.TextField"
> positionIncrementGap="100">
>
>      <analyzer type="index">
>
>        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
>
>        <filter class="solr.StopFilterFactory"
>
>                ignoreCase="true"
>
>                words="stopwords.txt"
>
>                enablePositionIncrements="true"
>
>                />
>
>        <filter class="solr.WordDelimiterFilterFactory"
> generateWordParts="1" generateNumberParts="1" catenateWords="1"
> catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
>
>        <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"
>
>                enablePositionIncrements="true"
>
>                />
>
>        <filter class="solr.WordDelimiterFilterFactory"
> generateWordParts="1" generateNumberParts="1" catenateWords="1"
> catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
>
>        <filter class="solr.LowerCaseFilterFactory"/>
>
>        <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
>
>      </analyzer>
>
>    </fieldType>
>
>
>
> I'm pretty sure this has to do with the settings on the
> WordDelimiterFactory, but I must be missing something because I don't
> see anything that would cause the behavior I'm seeing.
>
>

Reply via email to