I may be wrong here, but what i think is happening is the edismax parser sees a field that doesn't exist, and therefore "believes" all logic you entered into the query is a complete mistake and negates it as such. so NOT becomes the word not and * becomes whitespace.
On Wed, Oct 18, 2017 at 3:15 PM, Beach, Daniel <daniel.be...@spglobal.com> wrote: > Hello all, > > I'm running into an issue where adding a field to the qf changes the > parsed query if that field doesn't exist in the Solr index. Our use case > for doing this is that we have multiple collections and many of our queries > leverage aliases to search across several of them simultaneously. While we > have a common group of fields that is shared across schemas, it is often > the case that we need to use collection-specific fields to boost one > content type over another. > > Here is the query debug output from a query that only searches on existing > fields. This is the intended outcome. > > q=companies%20NOT%20brands*&qf=Text&wt=json&debug=query& > defType=edismax > > "rawquerystring":"companies NOT brands*", > "querystring":"companies NOT brands*", > "parsedquery":"(+(DisjunctionMaxQuery((Text:company)) > -DisjunctionMaxQuery((Text:brands*))))/no_coord", > "parsedquery_toString":"+((Text:company) -(Text:brands*))", > "QParser":"ExtendedDismaxQParser", > > > When a "BOGUS" field name is added to the second query suddenly the query > operators aren't interpreted correctly, and wildcards get dropped. > > q=companies%20NOT%20brands*&qf=Text%20BOGUS&wt=json&debug= > query&defType=edismax > > "rawquerystring":"companies NOT brands*", > "querystring":"companies NOT brands*", > "parsedquery":"(+(DisjunctionMaxQuery((Text:company)) > DisjunctionMaxQuery((Text:not)) DisjunctionMaxQuery((Text: > brand))))/no_coord", > "parsedquery_toString":"+((Text:company) (Text:not) (Text:brand))", > "QParser":"ExtendedDismaxQParser" > > > These results are from Solr 6.5.0 and 5.5, querying against a single > collection endpoint. Is this Solr's expected functionality? Hopefully I'm > just blanking on something simple here. > > Thanks, > Daniel Beach > > ________________________________ > > The information contained in this message is intended only for the > recipient, and may be a confidential attorney-client communication or may > otherwise be privileged and confidential and protected from disclosure. If > the reader of this message is not the intended recipient, or an employee or > agent responsible for delivering this message to the intended recipient, > please be aware that any dissemination or copying of this communication is > strictly prohibited. If you have received this communication in error, > please immediately notify us by replying to the message and deleting it > from your computer. S&P Global Inc. reserves the right, subject to > applicable local law, to monitor, review and process the content of any > electronic message or information sent to or from S&P Global Inc. e-mail > addresses without informing the sender or recipient of the message. By > sending electronic message or information to S&P Global Inc. e-mail > addresses you, as the sender, are consenting to S&P Global Inc. processing > any of your personal data therein. >