Hi everyone, I have this query that uses the Boolean Query Parser: *http://localhost:8983/solr/books/select <http://localhost:8983/solr/books/select>?* *q={!bool filter=$**categoryIds** should=$queryTerms}&* *categoryIds**=**category:(1 2 5 7)**&* *queryTerms=**content**:(user text)*
I would like to achieve the same result using the eDisMax query parser, but I encountered some problems with the minimum should match clause. Here is the query: *http://localhost:8983/solr/books/select <http://localhost:8983/solr/books/select>?* *fq=category:(1 2 5 7)&* *q=user text&* *df=content&* *defType=edismax* It returns only documents having "*user"* or "*text"* in the content field (but at least one of them is needed). If no documents contain those words in the *content* field, I have zero results returned. >From the debug, I could see that the parsed query is: *+(DisjunctionMaxQuery((**content**:user)) DisjunctionMaxQuery((**content* *:text)))* By default the minimum should match parameter is set to 0, meaning that all clauses are optional. Why is there the + operator before the two disjunction queries? I wouldn't expect to see it. I would expect to see all documents returned even if none of them match any term in q. Also, if I explicitly set mm to 1 like: *http://localhost:8983/solr/books/select <http://localhost:8983/solr/books/select>?* *fq=category:(1 2 5 7)&* *q=user text&* *df=content&* *defType=edismax&* *mm=1* The parsed query is: *+(DisjunctionMaxQuery((**content**:**user**)) DisjunctionMaxQuery((* *content**:**text* *)))~1* Whose meaning is the same as the query before (with mm=0). What is the difference between mm=0 and mm=1? Thank you! *Anna Ruggero* R&D Machine Learning / Software Engineer, Search Consultant e-mail: a.rugg...@sease.io *Sease* - Information Retrieval Applied Consulting | Training | Open Source Sease.io <http://sease.io/> LinkedIn <https://linkedin.com/company/sease-ltd> | Twitter <https://twitter.com/seaseltd> | Youtube <https://www.youtube.com/channel/UCDx86ZKLYNpI3gzMercM7BQ> | Github <https://github.com/seaseltd>