hi all :)

I have two filters combined with dismax on the query side:

  WordDelimiterFilterFactory { preserveOriginal=1,
generateNumberParts=1, catenateWords=0, generateWordParts=1,
catenateAll=0, catenateNumbers=0}

followed by lowecase filter factory.  the analyzer shows the phrase

  gUYS and dOLLS

being tokenized as

  guys  uys     and     dolls   olls
  g                     d

and matching an index where everything is like you would expect
(lowercased, etc).

anyway, dismax is failing to get a match, even though the analyzer says
all is ok.  dismax reports the following:

  "rawquerystring":"gUYS and dOLLS",
  "querystring":"gUYS and dOLLS",

  "parsedquery":"+((DisjunctionMaxQuery((search:\"(guys g) uys\"))
DisjunctionMaxQuery((search:\"(dolls d) olls\")))~2) ()",

  "parsedquery_toString":"+(((search:\"(guys g) uys\") (search:\"(dolls
d) olls\"))~2) ()",

so it seems like PreserveOriginal is mucking with the token order in a
way that makes dismax very unhappy.

thoughts?

--eoff

Reply via email to