|
@@ -40,6 +40,7 @@ import org.elasticsearch.index.query.TermQueryBuilder;
|
|
|
import org.elasticsearch.test.ESSingleNodeTestCase;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
+import java.util.Collections;
|
|
|
|
|
|
public class NestedHelperTests extends ESSingleNodeTestCase {
|
|
|
|
|
@@ -115,6 +116,36 @@ public class NestedHelperTests extends ESSingleNodeTestCase {
|
|
|
assertFalse(new NestedHelper(mapperService).mightMatchNonNestedDocs(new MatchNoDocsQuery(), "nested_missing"));
|
|
|
}
|
|
|
|
|
|
+ public void testTermsQuery() {
|
|
|
+ Query termsQuery = mapperService.fullName("foo").termsQuery(Collections.singletonList("bar"), null);
|
|
|
+ assertFalse(new NestedHelper(mapperService).mightMatchNestedDocs(termsQuery));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested1"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested2"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested3"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested_missing"));
|
|
|
+
|
|
|
+ termsQuery = mapperService.fullName("nested1.foo").termsQuery(Collections.singletonList("bar"), null);
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNestedDocs(termsQuery));
|
|
|
+ assertFalse(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested1"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested2"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested3"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested_missing"));
|
|
|
+
|
|
|
+ termsQuery = mapperService.fullName("nested2.foo").termsQuery(Collections.singletonList("bar"), null);
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNestedDocs(termsQuery));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested1"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested2"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested3"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested_missing"));
|
|
|
+
|
|
|
+ termsQuery = mapperService.fullName("nested3.foo").termsQuery(Collections.singletonList("bar"), null);
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNestedDocs(termsQuery));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested1"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested2"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested3"));
|
|
|
+ assertTrue(new NestedHelper(mapperService).mightMatchNonNestedDocs(termsQuery, "nested_missing"));
|
|
|
+ }
|
|
|
+
|
|
|
public void testTermQuery() {
|
|
|
Query termQuery = mapperService.fullName("foo").termQuery("bar", null);
|
|
|
assertFalse(new NestedHelper(mapperService).mightMatchNestedDocs(termQuery));
|