lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Otis Gospodnetic <otis_gospodne...@yahoo.com>
Subject Re: literal operator?
Date Sun, 23 Feb 2003 18:18:07 GMT
Hello,

> I'd thought this went into the black hole of feature requests never
> to return. ;)

No, just my Lucene mail folder.

> I also agree that the single quote is probably a bad choice for an 
> operator.  In my code i'm actually using "#lit(<term>)" to make
> things as unambiguous as possible.  (but this doesn't really follow
the
> style of other Lucene query syntax operators)

> And the reason I didn't use getFieldQuery is because it is using the 
> analyzer to tokenize and would cause me to loose the raw terms, no?  
> Maybe i'm not understanding the code here?

No, you are right, I didn't see the Analyzer in getFieldQuery last
night.

> One thing to keep in mind is that literal queries will only work with
> 
> Keyword fields.  Literal searches will not work on fields that have 
> been stemmed at indexing time.  Perhaps the query parser could be
> made 
> smart enough to do what the user wants here without them having to
> ask? 
>   Do we know at query time what options a particular field was
> indexed 
> with?

That is what I was trying to say last night - this won't work with
fields other than Keyword, and if people don't get results they expect
when they search on non-Keyword fields, they'll think it's a bug.
I do not think we can determine if the field being searched is of type
Keyword or not at the search time.  If I'm wrong, somebody correct me,
please.

Because of the above I'm hesitant to include your patch.  Let's see
what others think.

Otis


> - matt
> 
> On Sunday, February 23, 2003, at 02:35 AM, Otis Gospodnetic wrote:
> 
> > Hello Matthew,
> >
> > Nobody responded to this one.
> > Any strong opinions about including this from developers?
> > I thought this would be a useful thing, at first, but it may
> confuse
> > people (users, not developers) more if they search for 'some phrase
> > with stop words'.  Actually, the diff uses TermQuery, not
> QueryParser's
> > getFieldQuery method, so it wouldn't really work for phrases.
> > Matthew, how come you didn't use getFieldQuery, like it is done for
> > PhraseQuery, for instance?  That would allow you to support
> searching
> > for literal keywords/terms and phrases, I believe.
> >
> > Does anyone think that including this would be a good idea?
> >
> > Thanks,
> > Otis
> >
> >
> > --- Matthew King <mattl@gnik.com> wrote:
> >> I just ran into a little problem while trying to query for a
> document
> >>
> >> looking for a term that had been indexed using a Keyword field...
> >>
> >> My application is using the StandardAnalyzer and the QueryParser
> to
> >> search the index, so my query looked something like this:
> >>
> >>    kw:FOOBAR
> >>
> >> not surprisingly (now that I know what's going on) I wasn't
> getting
> >> any
> >> hits from this search (because the QueryParser was normalizing the
> >> query term be "foobar" when it had been indexed as "FOOBAR")
> >>
> >> I know that i could create my own query to search for "FOOBAR",
> but
> >> it
> >> seems reasonable to add a LITERAL operator so that keywords can be
> >> searched using the QueryParser, no?
> >>
> >> Here's the diff for my stab at implementing it:
> >>
> >> diff -r1.25 QueryParser.jj
> >> 319c319
> >> <                           "[", "]", "\"", "{", "}", "~", "*",
> "?" ]
> >>>
> >> ---
> >>>                           "[", "]", "\"", "{", "}", "~", "*",
> "?",
> >>
> >> "'" ] >
> >> 321c321
> >> <                            "[", "]", "\"", "{", "}", "~", "*",
> "?"
> >> ]
> >> ---
> >>>                            "[", "]", "\"", "{", "}", "~", "*",
> >> "?",
> >> "'" ]
> >> 350a351
> >>> | <LITERAL:    "'" (~["'"])+ "'">
> >> 527a529,533
> >>>        }
> >>>      | term=<LITERAL>
> >>>        [ <CARAT> boost=<NUMBER> ]
> >>>        {
> >>>          q = new TermQuery(new Term(field,
> term.image.substring(1,
> >>
> >> term.image.length()-1)));
> >>
> >> I'm not so sure I like using the single quote here, but it was
> >> available...
> >>
> >> What do people think?  Is this useful to others?
> >>
> >> - matt
> >>
> >>
> >>
> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
> >> For additional commands, e-mail:
> lucene-dev-help@jakarta.apache.org
> >>
> >
> >
> > __________________________________________________
> > Do you Yahoo!?
> > Yahoo! Tax Center - forms, calculators, tips, more
> > http://taxes.yahoo.com/
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: lucene-dev-help@jakarta.apache.org
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: lucene-dev-help@jakarta.apache.org
> 


__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-dev-help@jakarta.apache.org


Mime
View raw message