A StrField field is not tokenized. So, do not expect "a b" to match "a a b". 
Lucene will generate a single term from "a b", and a single term from "a a b", 
so obviously, they do not match.

If you want to match these two texts, change the field to TextField and use the 
appropriate analysis (standard standard analyser is a good start). Run your 
analysis again.
Regards
Ameer

Sent from Mailspring (https://getmailspring.com/), the best free email app for 
work
On Oct 11 2019, at 2:18 am, Jochen Barth <jpunktba...@gmail.com> wrote:
> Dear reader,
>
> I'm trying to test lucene 8.2.0 as key-value store;
> I know that there are specialized ones like lmdb etc...
> As key I have a StringField, keys can contain space(s), e. g. "a b". I
> know I should use TermQuery.
>
> But I've been playing with classic QueryParser, which does not match the
> indexed keys,
>
> not with »a backslash space b«
> nor with »quote a space b quote«.
> Now the funny part: The StandardQueryParser does work when querying "a
> b". It does not match an additional key "a a b", so StandardQueryParser
> seems not to do a phrase query despite both query parsers refer to the
> same syntax description.
>
> Does StandardQueryParser takes field type into account when building the
> query?
>
> Kind regards, Jochen
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
>

Reply via email to