Your first problem is that the terms aren't getting to the field
analysis chain as a unit, if you attach &debug=query to your
query and say you're searching lastName:(ogden erickson),
you'll sees something like
lastName:ogden lastName:erickson
when what you want is
lastname:ogden erickson
(note, this is the _parsed_ query, not the input string!
So try escaping the space as
lastname:ogden\ erickson

As for the second problem, _how_ is it "not working at all"?
You're breaking up the input into separate tokens, which you
say you don't want to do. If you really want all your names to
be treated as strings just ignoring, say, the / take a look at
http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.PatternReplaceCharFilterFactory
and use it with your first type.

Best
Erick


On Thu, Aug 22, 2013 at 7:34 AM, skorrapa <korrapati.sus...@gmail.com>wrote:

> Hello All,
>
> I am also facing a similar issue. I am using Solr 4.3.
> Following is the configuration I gave in schema.xml
>  <fieldType name="string_lower_case" class="solr.TextField"
> sortMissingLast="true" omitNorms="true" >
>     <analyzer type="index">
>                 <tokenizer class="solr.KeywordTokenizerFactory"/>
>                 <filter class="solr.LowerCaseFilterFactory"/>
>           </analyzer>
>           <analyzer type="query">
>                 <tokenizer class="solr.KeywordTokenizerFactory"/>
>                 <filter class="solr.LowerCaseFilterFactory"/>
>         </analyzer>
>     </fieldType>
>    <fieldType name="string_id_itm" class="solr.TextField"
> sortMissingLast="true" omitNorms="true">
>       <analyzer type="index">
>                 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
>                 <filter class="solr.LowerCaseFilterFactory"/>
>           </analyzer>
>           <analyzer type="query">
>                 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
>                 <filter class="solr.LowerCaseFilterFactory"/>
>         </analyzer>
>      </fieldType>
>
> My requirement is that any string I give during search should be treated as
> a single string and try to find it, case insensitively.
> I have got strings like first name and last name(for this am using
> string_lower_case), and strings with special character '/'(for this am
> using
> string_id_itm ).
> But I am not getting results as expected. The first field type should also
> accept strings with spaces and give me results but it isn't, and the second
> field type doesnt work at all
>
> e.g of field values: John Smith (for field type 1)
>                           MB56789/A (for field type 2)
> Please help
>
> vehovmar wrote
> > Thanks a lot for both replies. Helped me a lot. It seems that
> > EdgeNGramFilterFactory on query analyzer was really my problem, I'll have
> > to test it a little more to be sure.
> >
> >
> > As for the "bf" parameter, I thinks it's quite fine as it is, from
> > documentation:
> >
> > "the bf parameter actually takes a list of function queries separated by
> > whitespace and each with an optional boost"
> > Example: bf="ord(popularity)^0.5 recip(rord(price),1,1000,1000)^0.3"
> >
> > And I'm using field function, Example Syntax: myFloatField or
> > field(myFloatField)
> >
> >
> > Thanks again to both of you guys!
>
>
>
>
>
> --
> View this message in context:
> http://lucene.472066.n3.nabble.com/Solr-4-2-1-update-to-4-3-4-4-problem-tp4081896p4086070.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>

Reply via email to