List of usage examples for org.apache.lucene.search QueryUtils checkEqual
public static void checkEqual(Query q1, Query q2)
From source file:com.sindicetech.siren.search.node.TestNodeNumericRangeQuery32.java
License:Open Source License
@Test public void testEqualsAndHash() throws Exception { QueryUtils.checkHashEquals(NodeNumericRangeQuery.newIntRange("test1", 4, 10, 20, true, true)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newIntRange("test2", 4, 10, 20, false, true)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newIntRange("test3", 4, 10, 20, true, false)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newIntRange("test4", 4, 10, 20, false, false)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newIntRange("test5", 4, 10, null, true, true)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newIntRange("test6", 4, null, 20, true, true)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newIntRange("test7", 4, null, null, true, true)); QueryUtils.checkEqual(NodeNumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true), NodeNumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true)); QueryUtils.checkUnequal(NodeNumericRangeQuery.newIntRange("test9", 4, 10, 20, true, true), NodeNumericRangeQuery.newIntRange("test9", 8, 10, 20, true, true)); QueryUtils.checkUnequal(NodeNumericRangeQuery.newIntRange("test10a", 4, 10, 20, true, true), NodeNumericRangeQuery.newIntRange("test10b", 4, 10, 20, true, true)); QueryUtils.checkUnequal(NodeNumericRangeQuery.newIntRange("test11", 4, 10, 20, true, true), NodeNumericRangeQuery.newIntRange("test11", 4, 20, 10, true, true)); QueryUtils.checkUnequal(NodeNumericRangeQuery.newIntRange("test12", 4, 10, 20, true, true), NodeNumericRangeQuery.newIntRange("test12", 4, 10, 20, false, true)); QueryUtils.checkUnequal(NodeNumericRangeQuery.newIntRange("test13", 4, 10, 20, true, true), NodeNumericRangeQuery.newFloatRange("test13", 4, 10f, 20f, true, true)); // the following produces a hash collision, because Long and Integer have the same hashcode, so only test equality: final Query q1 = NodeNumericRangeQuery.newIntRange("test14", 4, 10, 20, true, true); final Query q2 = NodeNumericRangeQuery.newLongRange("test14", 4, 10L, 20L, true, true); assertFalse(q1.equals(q2));//from w ww . j a v a2s. co m assertFalse(q2.equals(q1)); }
From source file:com.sindicetech.siren.search.node.TestNodeNumericRangeQuery64.java
License:Open Source License
@Test public void testEqualsAndHash() throws Exception { QueryUtils.checkHashEquals(NodeNumericRangeQuery.newLongRange("test1", 4, 10L, 20L, true, true)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newLongRange("test2", 4, 10L, 20L, false, true)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newLongRange("test3", 4, 10L, 20L, true, false)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newLongRange("test4", 4, 10L, 20L, false, false)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newLongRange("test5", 4, 10L, null, true, true)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newLongRange("test6", 4, null, 20L, true, true)); QueryUtils.checkHashEquals(NodeNumericRangeQuery.newLongRange("test7", 4, null, null, true, true)); QueryUtils.checkEqual(NodeNumericRangeQuery.newLongRange("test8", 4, 10L, 20L, true, true), NodeNumericRangeQuery.newLongRange("test8", 4, 10L, 20L, true, true)); QueryUtils.checkUnequal(NodeNumericRangeQuery.newLongRange("test9", 4, 10L, 20L, true, true), NodeNumericRangeQuery.newLongRange("test9", 8, 10L, 20L, true, true)); QueryUtils.checkUnequal(NodeNumericRangeQuery.newLongRange("test10a", 4, 10L, 20L, true, true), NodeNumericRangeQuery.newLongRange("test10b", 4, 10L, 20L, true, true)); QueryUtils.checkUnequal(NodeNumericRangeQuery.newLongRange("test11", 4, 10L, 20L, true, true), NodeNumericRangeQuery.newLongRange("test11", 4, 20L, 10L, true, true)); QueryUtils.checkUnequal(NodeNumericRangeQuery.newLongRange("test12", 4, 10L, 20L, true, true), NodeNumericRangeQuery.newLongRange("test12", 4, 10L, 20L, false, true)); QueryUtils.checkUnequal(NodeNumericRangeQuery.newLongRange("test13", 4, 10L, 20L, true, true), NodeNumericRangeQuery.newFloatRange("test13", 4, 10f, 20f, true, true)); // difference to int range is tested in TestSirenNumericRangeQuery32 }
From source file:org.apache.solr.legacy.TestNumericRangeQuery32.java
License:Apache License
@Test public void testEqualsAndHash() throws Exception { QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newIntRange("test1", 4, 10, 20, true, true)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newIntRange("test2", 4, 10, 20, false, true)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newIntRange("test3", 4, 10, 20, true, false)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newIntRange("test4", 4, 10, 20, false, false)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newIntRange("test5", 4, 10, null, true, true)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newIntRange("test6", 4, null, 20, true, true)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newIntRange("test7", 4, null, null, true, true)); QueryUtils.checkEqual(LegacyNumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true), LegacyNumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true)); QueryUtils.checkUnequal(LegacyNumericRangeQuery.newIntRange("test9", 4, 10, 20, true, true), LegacyNumericRangeQuery.newIntRange("test9", 8, 10, 20, true, true)); QueryUtils.checkUnequal(LegacyNumericRangeQuery.newIntRange("test10a", 4, 10, 20, true, true), LegacyNumericRangeQuery.newIntRange("test10b", 4, 10, 20, true, true)); QueryUtils.checkUnequal(LegacyNumericRangeQuery.newIntRange("test11", 4, 10, 20, true, true), LegacyNumericRangeQuery.newIntRange("test11", 4, 20, 10, true, true)); QueryUtils.checkUnequal(LegacyNumericRangeQuery.newIntRange("test12", 4, 10, 20, true, true), LegacyNumericRangeQuery.newIntRange("test12", 4, 10, 20, false, true)); QueryUtils.checkUnequal(LegacyNumericRangeQuery.newIntRange("test13", 4, 10, 20, true, true), LegacyNumericRangeQuery.newFloatRange("test13", 4, 10f, 20f, true, true)); // the following produces a hash collision, because Long and Integer have the same hashcode, so only test equality: Query q1 = LegacyNumericRangeQuery.newIntRange("test14", 4, 10, 20, true, true); Query q2 = LegacyNumericRangeQuery.newLongRange("test14", 4, 10L, 20L, true, true); assertFalse(q1.equals(q2));//from ww w . j a v a 2 s . c o m assertFalse(q2.equals(q1)); }
From source file:org.apache.solr.legacy.TestNumericRangeQuery64.java
License:Apache License
@Test public void testEqualsAndHash() throws Exception { QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newLongRange("test1", 4, 10L, 20L, true, true)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newLongRange("test2", 4, 10L, 20L, false, true)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newLongRange("test3", 4, 10L, 20L, true, false)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newLongRange("test4", 4, 10L, 20L, false, false)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newLongRange("test5", 4, 10L, null, true, true)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newLongRange("test6", 4, null, 20L, true, true)); QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newLongRange("test7", 4, null, null, true, true)); QueryUtils.checkEqual(LegacyNumericRangeQuery.newLongRange("test8", 4, 10L, 20L, true, true), LegacyNumericRangeQuery.newLongRange("test8", 4, 10L, 20L, true, true)); QueryUtils.checkUnequal(LegacyNumericRangeQuery.newLongRange("test9", 4, 10L, 20L, true, true), LegacyNumericRangeQuery.newLongRange("test9", 8, 10L, 20L, true, true)); QueryUtils.checkUnequal(LegacyNumericRangeQuery.newLongRange("test10a", 4, 10L, 20L, true, true), LegacyNumericRangeQuery.newLongRange("test10b", 4, 10L, 20L, true, true)); QueryUtils.checkUnequal(LegacyNumericRangeQuery.newLongRange("test11", 4, 10L, 20L, true, true), LegacyNumericRangeQuery.newLongRange("test11", 4, 20L, 10L, true, true)); QueryUtils.checkUnequal(LegacyNumericRangeQuery.newLongRange("test12", 4, 10L, 20L, true, true), LegacyNumericRangeQuery.newLongRange("test12", 4, 10L, 20L, false, true)); QueryUtils.checkUnequal(LegacyNumericRangeQuery.newLongRange("test13", 4, 10L, 20L, true, true), LegacyNumericRangeQuery.newFloatRange("test13", 4, 10f, 20f, true, true)); // difference to int range is tested in TestNumericRangeQuery32 }
From source file:org.apache.solr.search.QueryEqualityTest.java
License:Apache License
/** * NOTE: defType is not only used to pick the parser, but, if non-null it is * also to record the parser being tested for coverage sanity checking * * @see QueryUtils#check/*from ww w . j av a 2s .c om*/ * @see QueryUtils#checkEqual * @see #testParserCoverage */ protected void assertQueryEquals(final String defType, final SolrQueryRequest req, final String... inputs) throws Exception { if (null != defType) qParsersTested.add(defType); final Query[] queries = new Query[inputs.length]; try { SolrQueryResponse rsp = new SolrQueryResponse(); SolrRequestInfo.setRequestInfo(new SolrRequestInfo(req, rsp)); for (int i = 0; i < inputs.length; i++) { queries[i] = (QParser.getParser(inputs[i], defType, req).getQuery()); } } finally { SolrRequestInfo.clearRequestInfo(); } for (int i = 0; i < queries.length; i++) { QueryUtils.check(queries[i]); // yes starting j=0 is redundent, we're making sure every query // is equal to itself, and that the quality checks work regardless // of which caller/callee is used. for (int j = 0; j < queries.length; j++) { QueryUtils.checkEqual(queries[i], queries[j]); } } }
From source file:org.apache.solr.search.TestValueSourceCache.java
License:Apache License
@Test public void testGeodistSource() throws SyntaxError { Query q_home = getQuery("geodist(home_ll, 45.0, 43.0)"); Query q_work = getQuery("geodist(work_ll, 45.0, 43.0)"); Query q_home2 = getQuery("geodist(home_ll, 45.0, 43.0)"); QueryUtils.checkUnequal(q_work, q_home); QueryUtils.checkEqual(q_home, q_home2); }
From source file:org.apache.solr.search.TestValueSourceCache.java
License:Apache License
void tryQuerySameTypes(String template, String numbers, String type) throws SyntaxError { String s1 = template;/*from w ww .j a v a2s .co m*/ String s2 = template; String s3 = template; String[] numParts = numbers.split(","); String type2 = type.replace("val1", "val2"); for (int idx = 0; s1.contains("#"); ++idx) { String patV = "#v" + Integer.toString(idx); String patN = "#n" + Integer.toString(idx); s1 = s1.replace(patV, type).replace(patN, numParts[idx]); s2 = s2.replace(patV, type).replace(patN, numParts[idx]); s3 = s3.replace(patV, type2).replace(patN, numParts[idx]); } //SolrQueryRequest req1 = req( "q","*:*", "fq", s1); Query q1 = getQuery(s1); Query q2 = getQuery(s2); Query q3 = getQuery(s3); QueryUtils.checkEqual(q1, q2); QueryUtils.checkUnequal(q1, q3); }
From source file:org.elasticsearch.search.slice.DocValuesSliceQueryTests.java
License:Apache License
public void testBasics() { DocValuesSliceQuery query1 = new DocValuesSliceQuery("field1", 1, 10); DocValuesSliceQuery query2 = new DocValuesSliceQuery("field1", 1, 10); DocValuesSliceQuery query3 = new DocValuesSliceQuery("field2", 1, 10); DocValuesSliceQuery query4 = new DocValuesSliceQuery("field1", 2, 10); QueryUtils.check(query1);/*from w w w . ja v a 2 s.co m*/ QueryUtils.checkEqual(query1, query2); QueryUtils.checkUnequal(query1, query3); QueryUtils.checkUnequal(query1, query4); }
From source file:org.elasticsearch.search.slice.TermsSliceQueryTests.java
License:Apache License
public void testBasics() { TermsSliceQuery query1 = new TermsSliceQuery("field1", 1, 10); TermsSliceQuery query2 = new TermsSliceQuery("field1", 1, 10); TermsSliceQuery query3 = new TermsSliceQuery("field2", 1, 10); TermsSliceQuery query4 = new TermsSliceQuery("field1", 2, 10); QueryUtils.check(query1);// ww w . jav a2 s. co m QueryUtils.checkEqual(query1, query2); QueryUtils.checkUnequal(query1, query3); QueryUtils.checkUnequal(query1, query4); }
From source file:org.sindice.siren.search.TestSirenNumericRangeQuery32.java
License:Open Source License
@Test public void testEqualsAndHash() throws Exception { QueryUtils.checkHashEquals(SirenNumericRangeQuery.newIntRange("test1", 4, 10, 20, true, true)); QueryUtils.checkHashEquals(SirenNumericRangeQuery.newIntRange("test2", 4, 10, 20, false, true)); QueryUtils.checkHashEquals(SirenNumericRangeQuery.newIntRange("test3", 4, 10, 20, true, false)); QueryUtils.checkHashEquals(SirenNumericRangeQuery.newIntRange("test4", 4, 10, 20, false, false)); QueryUtils.checkHashEquals(SirenNumericRangeQuery.newIntRange("test5", 4, 10, null, true, true)); QueryUtils.checkHashEquals(SirenNumericRangeQuery.newIntRange("test6", 4, null, 20, true, true)); QueryUtils.checkHashEquals(SirenNumericRangeQuery.newIntRange("test7", 4, null, null, true, true)); QueryUtils.checkEqual(SirenNumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true), SirenNumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true)); QueryUtils.checkUnequal(SirenNumericRangeQuery.newIntRange("test9", 4, 10, 20, true, true), SirenNumericRangeQuery.newIntRange("test9", 8, 10, 20, true, true)); QueryUtils.checkUnequal(SirenNumericRangeQuery.newIntRange("test10a", 4, 10, 20, true, true), SirenNumericRangeQuery.newIntRange("test10b", 4, 10, 20, true, true)); QueryUtils.checkUnequal(SirenNumericRangeQuery.newIntRange("test11", 4, 10, 20, true, true), SirenNumericRangeQuery.newIntRange("test11", 4, 20, 10, true, true)); QueryUtils.checkUnequal(SirenNumericRangeQuery.newIntRange("test12", 4, 10, 20, true, true), SirenNumericRangeQuery.newIntRange("test12", 4, 10, 20, false, true)); QueryUtils.checkUnequal(SirenNumericRangeQuery.newIntRange("test13", 4, 10, 20, true, true), SirenNumericRangeQuery.newFloatRange("test13", 4, 10f, 20f, true, true)); // the following produces a hash collision, because Long and Integer have the same hashcode, so only test equality: final Query q1 = SirenNumericRangeQuery.newIntRange("test14", 4, 10, 20, true, true); final Query q2 = SirenNumericRangeQuery.newLongRange("test14", 4, 10L, 20L, true, true); assertFalse(q1.equals(q2));//from w w w.ja v a2 s . c o m assertFalse(q2.equals(q1)); }