abumarjikar commented on code in PR #4552:
URL: https://github.com/apache/solr/pull/4552#discussion_r3503623362


##########
solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java:
##########
@@ -1901,4 +1901,42 @@ public void testFieldExistsQueries() throws SyntaxError {
       }
     }
   }
+
+  @Test
+  public void testNestedPureNegativeQuery() throws Exception {
+
+    // Standard sample data with completely unique field values to isolate 
matches
+    assertU(adoc("id", "9414", "v_t", "pureneg foo bar", "type_t", 
"negativetest"));
+    assertU(adoc("id", "9415", "v_t", "pureneg foo baz", "type_t", 
"negativetest"));
+    assertU(adoc("id", "9416", "v_t", "pureneg baz", "type_t", 
"negativetest"));
+    assertU(commit());
+
+    // Top-level negative query must exclude 'bar' but successfully find our 
other docs
+    // Force sort by ID so the array index expectations always line up 
perfectly
+    assertJQ(
+        req("q", "v_t:pureneg AND -v_t:bar", "df", "v_t", "sort", "id asc"),
+        "/response/docs/[0]/id=='9415'",
+        "/response/docs/[1]/id=='9416'");
+
+    // Nested pure negative query inside a parenthesized group with AND
+    assertJQ(
+        req("q", "v_t:pureneg AND v_t:foo AND (-v_t:bar)", "df", "v_t"),
+        "/response/numFound==1",
+        "/response/docs/[0]/id=='9415'");
+
+    // Nested pure negative query using explicit NOT syntax
+    assertJQ(
+        req("q", "v_t:pureneg AND v_t:foo AND (NOT v_t:bar)", "df", "v_t"),

Review Comment:
   ```
   assertJQ(
           req("q", "NOT v_t:pureneg", "df", "v_t", "fq", 
"type_t:negativetest"),
           "/response/numFound==0");
   ```
   
   This does check the similar i just restricted to my test documents. Please 
let me know if i still need to add another test.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to