> 1. Search for 4X6 generated the following parsed query:
> +DisjunctionMaxQuery((((id:4 id:x id:6)^1.2) | ((name:4
> name:x
> name:6)^1.025) )
> while the search for "4 X 6" (with space in between) 
> generated the query
> below: (I like this one)
> +((DisjunctionMaxQuery((id:4^1.2 | name:4^1.025)
> +((DisjunctionMaxQuery((id:x^1.2 | name:x^1.025)
> +((DisjunctionMaxQuery((id:6^1.2 | name:6^1.025)
> 
> Is that really intentional? The first query is pretty weird
> because it will
> return all of the docs with one of 4, x, 6.

Minimum Should Match (mm) parameter is used to control how many search terms 
should match. For example, you can set it to &mm=100%.

Also you can tweak relevancy be setting phrase fields (pf) parameter.

> Any easy way we can force "4X6" search to be the same as "4
> X 6"?
> 
> 2. Issue with multi words synonym because edismax separates
> keywords to
> multiple words via the line below:
> clauses = splitIntoClauses(userQuery, false);
> and seems like edismax doesn't quite respect fieldType at
> query time, for
> example, handling stopWords differently than what's
> specified in schema.
> 
> For example: I have the following synonym:
> AAA BBB, AAABBB, AAA-BBB, CCC DDD
> 
> When I search for "AAA-BBB", it works, however search for
> "CCC DDD" was not
> returning results containing AAABBB. What is interesting is
> that
> admin/analysis.jsp is returning great results.

Query string is tokenized (according to white spaces) before it reaches 
analyzer. https://issues.apache.org/jira/browse/LUCENE-2605
That's why multi-word synonyms are not advised to use at query time. 

Analysis.jsp does not perform actual query parsing.

Reply via email to