StandardAnalyzer has a constructor that takes a stop word set, so I guess you can pass it an empty set:
QueryParser is probably ok. I rarely use this parser but I don't think it recognizes "not" in its grammar.
Hope this helps,
Tri
On Mar 17, 2014, at 12:46 PM, Natalia Connolly <natalia.v.conno...@gmail.com> wrote:
On Mar 17, 2014, at 12:46 PM, Natalia Connolly <natalia.v.conno...@gmail.com> wrote:
Hi Tri,
Thank you so much for your message!
Yes, it looks like the negation terms have indeed been filtered out;
when I query on "no" or "not", I get no results. I am just using
StandardAnalyzer and the classic QueryParser:
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_47);
QueryParser parser = new QueryParser(Version.LUCENE_47, field, analyzer);
Which analyzer/parser would you recommend?
Thank you again,
Natalia
On Mon, Mar 17, 2014 at 3:35 PM, Tri Cao <tm...@me.com> wrote:
Natalia,First make sure that your analyzers (both index and query analyzers) donot filter out these as stop words. I think the standard StopFilter listhas "no" and "not". You can try to see if you index have these terms byquerying for "no" as a TermQuery. If there is not match for that query,then you know for sure they have been filtered out.The next thing is to check is your query parser. What query parser are youusing? Some parser actually understands the "not" term and rewrite to anegation query.Hope this helps,TriOn Mar 17, 2014, at 12:02 PM, Natalia Connolly <natalia.v.conno...@gmail.com> wrote:Hi All,Is there any way I could construct a query that would not automaticallyexclude negation terms (such as "no", "not", etc)? For example, I need tofind strings like "not happy", "no idea", "never available". I triedusing a simple analyzer with combinations such as "not AND happy", andsimilar patterns, but it does not work.Any help would be appreciated!Natalia