List of usage examples for org.apache.solr.client.solrj SolrQuery getQuery
public String getQuery()
From source file:ddf.catalog.source.solr.SolrFilterDelegateTest.java
License:Open Source License
@Test public void testDatePropertyLessThanOrEqualTo() { stub(mockResolver.getField("created", AttributeFormat.DATE, false)).toReturn("created_date"); String expectedQuery = " created_date:[ * TO 1995-11-24T23:59:56.765Z ] "; SolrQuery temporalQuery = toTest.propertyIsLessThanOrEqualTo(Metacard.CREATED, getCannedTime()); assertThat(temporalQuery.getQuery(), is(expectedQuery)); }
From source file:ddf.catalog.source.solr.SolrFilterDelegateTest.java
License:Open Source License
@Test public void testDatePropertyIsBetween() { stub(mockResolver.getField("created", AttributeFormat.DATE, false)).toReturn("created_date"); String expectedQuery = " created_date:[ 1995-11-24T23:59:56.765Z TO 1995-11-27T04:59:56.765Z ] "; SolrQuery temporalQuery = toTest.propertyIsBetween(Metacard.CREATED, getCannedTime(), getCannedTime(1995, Calendar.NOVEMBER, 27, 4)); assertThat(temporalQuery.getQuery(), is(expectedQuery)); }
From source file:ddf.catalog.source.solr.SolrMetacardClient.java
License:Open Source License
protected SolrQuery getSolrQuery(QueryRequest request, SolrFilterDelegate solrFilterDelegate) throws UnsupportedQueryException { solrFilterDelegate.setSortPolicy(request.getQuery().getSortBy()); SolrQuery query = filterAdapter.adapt(request.getQuery(), solrFilterDelegate); // Solr does not support outside parenthesis in certain queries and throws EOF exception. String queryPhrase = query.getQuery().trim(); if (queryPhrase.matches("\\(\\s*\\{!.*\\)")) { query.setQuery(queryPhrase.replaceAll("^\\(\\s*|\\s*\\)$", "")); }//from w w w. j a v a 2 s . c o m if (LOGGER.isDebugEnabled()) { LOGGER.debug("Prepared Query: {}", query.getQuery()); if (query.getFilterQueries() != null && query.getFilterQueries().length > 0) { LOGGER.debug("Filter Queries: {}", Arrays.toString(query.getFilterQueries())); } } if (request.getQuery().getPageSize() < 1) { query.setRows(Integer.MAX_VALUE); } else { query.setRows(request.getQuery().getPageSize()); } /* Start Index */ if (request.getQuery().getStartIndex() < 1) { throw new UnsupportedQueryException("Start index must be greater than 0"); } // Solr is 0-based query.setStart(request.getQuery().getStartIndex() - 1); return query; }
From source file:ddf.catalog.source.solr.SolrMetacardClientImpl.java
License:Open Source License
protected SolrQuery postAdapt(QueryRequest request, SolrFilterDelegate filterDelegate, SolrQuery query) throws UnsupportedQueryException { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Prepared Query: {}", query.getQuery()); if (query.getFilterQueries() != null && query.getFilterQueries().length > 0) { LOGGER.debug("Filter Queries: {}", Arrays.toString(query.getFilterQueries())); }//from w w w . j a v a2s . com } if (request.getQuery().getPageSize() < 1) { //TODO: Needs to pass in something else. query.setRows(Integer.MAX_VALUE); } else { query.setRows(request.getQuery().getPageSize()); } /* Start Index */ if (request.getQuery().getStartIndex() < 1) { throw new UnsupportedQueryException("Start index must be greater than 0"); } // Solr is 0-based query.setStart(request.getQuery().getStartIndex() - 1); setSortProperty(request, query, filterDelegate); return query; }
From source file:ddf.catalog.source.solr.TestSolrFilterDelegate.java
License:Open Source License
@Test public void reservedSpecialCharactersIsLike() { // given a tokenized text property stub(mockResolver.getField("testProperty", AttributeFormat.STRING, false)) .toReturn("testProperty_txt_index"); stub(mockResolver.getCaseSensitiveField("testProperty_txt_index")) .toReturn("testProperty_txt_index_tokenized"); // when searching for like reserved characters SolrQuery likeQuery = toTest.propertyIsLike("testProperty", "+ - && || ! ( ) { } [ ] ^ \" ~ : \\*?", true); // then return escaped special characters in the query assertThat(likeQuery.getQuery(), is( "testProperty_txt_index_tokenized:(\\+ \\- \\&& \\|| \\! \\( \\) \\{ \\} \\[ \\] \\^ \\\" \\~ \\: \\*?)")); }
From source file:ddf.catalog.source.solr.TestSolrFilterDelegate.java
License:Open Source License
@Test public void testPropertyIsLikeWildcard() { String searchPhrase = "abc-123*"; String expectedQuery = SolrFilterDelegate.WHITESPACE_TOKENIZED_METADATA_FIELD + ":(abc\\-123*)"; boolean isCaseSensitive = false; SolrQuery isLikeQuery = toTest.propertyIsLike(Metacard.ANY_TEXT, searchPhrase, isCaseSensitive); assertThat(isLikeQuery.getQuery(), is(expectedQuery)); }
From source file:ddf.catalog.source.solr.TestSolrFilterDelegate.java
License:Open Source License
@Test public void testPropertyIsLikeWildcardNoTokens() { String searchPhrase = "title*"; String expectedQuery = SolrFilterDelegate.WHITESPACE_TOKENIZED_METADATA_FIELD + ":(title*)"; boolean isCaseSensitive = false; SolrQuery isLikeQuery = toTest.propertyIsLike(Metacard.ANY_TEXT, searchPhrase, isCaseSensitive); assertThat(isLikeQuery.getQuery(), is(expectedQuery)); }
From source file:ddf.catalog.source.solr.TestSolrFilterDelegate.java
License:Open Source License
@Test public void testPropertyIsLikeMultipleTermsWithWildcard() { String searchPhrase = "abc 123*"; String expectedQuery = SolrFilterDelegate.WHITESPACE_TOKENIZED_METADATA_FIELD + ":(abc 123*)"; SolrQuery isLikeQuery = toTest.propertyIsLike(Metacard.ANY_TEXT, searchPhrase, false); assertThat(isLikeQuery.getQuery(), is(expectedQuery)); }
From source file:ddf.catalog.source.solr.TestSolrFilterDelegate.java
License:Open Source License
@Test public void testPropertyIsLikeCaseSensitiveWildcard() { String searchPhrase = "abc-123*"; String expectedQuery = SolrFilterDelegate.WHITESPACE_TOKENIZED_METADATA_FIELD + SchemaFields.HAS_CASE + ":(abc\\-123*)"; SolrQuery isLikeQuery = toTest.propertyIsLike(Metacard.ANY_TEXT, searchPhrase, true); assertThat(isLikeQuery.getQuery(), is(expectedQuery)); }
From source file:de.qaware.chronix.storage.solr.ChronixSolrCloudStorage.java
License:Apache License
/** * Fetches a stream of time series only from a single node with CloudSolrStream. * * @param zkHost// w ww. j ava 2s . c om * @param collection * @param shardUrl * @param query * @param converter * @return * @throws IOException */ private Stream<MetricTimeSeries> streamWithCloudSolrStream(String zkHost, String collection, String shardUrl, SolrQuery query, TimeSeriesConverter<MetricTimeSeries> converter) throws IOException { Map params = new HashMap(); params.put("q", query.getQuery()); params.put("sort", "id asc"); params.put("shards", extractShardIdFromShardUrl(shardUrl)); params.put("fl", Schema.DATA + ", " + Schema.ID + ", " + Schema.START + ", " + Schema.END + ", metric, host, measurement, process, ag, group"); params.put("qt", "/export"); params.put("distrib", false); CloudSolrStream solrStream = new CloudSolrStream(zkHost, collection, params); solrStream.open(); SolrTupleStreamingService tupStream = new SolrTupleStreamingService(solrStream, converter); return StreamSupport.stream(Spliterators.spliteratorUnknownSize(tupStream, Spliterator.SIZED), false); }