Can you specify the analyzer you are using for your queries?

May be you could use a KeywordAnalyzer for your queries so you don't end up
matching parts of your query.
http://www.lucidimagination.com/blog/2009/09/08/auto-suggest-from-popular-queries-using-edgengrams/
This should help you.

On Tue, May 31, 2011 at 8:24 PM, Brian Lamb
<brian.l...@journalexperts.com>wrote:

> In this particular case, I will be doing a solr search based on user
> preferences. So I will not be depending on the user to type "abcdefg". That
> will be automatically generated based on user selections.
>
> The contents of the field do not contain spaces and since I am created the
> search parameters, case isn't important either.
>
> Thanks,
>
> Brian Lamb
>
> On Tue, May 31, 2011 at 9:44 AM, Erick Erickson <erickerick...@gmail.com
> >wrote:
>
> > That'll work for your case, although be aware that string types aren't
> > analyzed at all,
> > so case matters, as do spaces etc.....
> >
> > What is the use-case here? If you explain it a bit there might be
> > better answers....
> >
> > Best
> > Erick
> >
> > On Fri, May 27, 2011 at 9:17 AM, Brian Lamb
> > <brian.l...@journalexperts.com> wrote:
> > > For this, I ended up just changing it to string and using "abcdefg*" to
> > > match. That seems to work so far.
> > >
> > > Thanks,
> > >
> > > Brian Lamb
> > >
> > > On Wed, May 25, 2011 at 4:53 PM, Brian Lamb
> > > <brian.l...@journalexperts.com>wrote:
> > >
> > >> Hi all,
> > >>
> > >> I'm running into some confusion with the way edgengram works. I have
> the
> > >> field set up as:
> > >>
> > >> <fieldType name="edgengram" class="solr.TextField"
> > >> positionIncrementGap="1000">
> > >>    <analyzer>
> > >>      <tokenizer class="solr.LowerCaseTokenizerFactory" />
> > >>        <filter class="solr.EdgeNGramFilterFactory" minGramSize="1"
> > >> maxGramSize="100" side="front" />
> > >>    </analyzer>
> > >> </fieldType>
> > >>
> > >> I've also set up my own similarity class that returns 1 as the idf
> > score.
> > >> What I've found this does is if I match a string "abcdefg" against a
> > field
> > >> containing "abcdefghijklmnop", then the idf will score that as a 7:
> > >>
> > >> 7.0 = idf(myfield: a=51 ab=23 abc=2 abcd=2 abcde=2 abcdef=2 abcdefg=2)
> > >>
> > >> I get why that's happening, but is there a way to avoid that? Do I
> need
> > to
> > >> do a new field type to achieve the desired affect?
> > >>
> > >> Thanks,
> > >>
> > >> Brian Lamb
> > >>
> > >
> >
>



-- 
Thanks and Regards,
DakshinaMurthy BM

Reply via email to