List of usage examples for org.apache.lucene.queryparser.flexible.standard StandardQueryParser StandardQueryParser
public StandardQueryParser(Analyzer analyzer)
From source file:com.netcrest.pado.index.provider.lucene.TopNLuceneSearch.java
License:Open Source License
protected Set<Object> getIdentityKeySet(String queryString, Directory dir) { Set<Object> identityKeySet = new HashSet<Object>(); DirectoryReader reader;//from ww w .j a v a 2 s . c o m try { reader = DirectoryReader.open(dir); } catch (CorruptIndexException e1) { e1.printStackTrace(); throw new RuntimeException(e1); } catch (IOException e1) { e1.printStackTrace(); throw new RuntimeException(e1); } Query query; try { StandardQueryParser parser = new StandardQueryParser(new StandardAnalyzer(LUCENE_VERSION)); query = parser.parse(queryString.replaceAll("\\-", "\\\\-"), "__doc"); } catch (Exception ex) { // Lucene bug. Unable to serialize exception. Log the message and // throw a new exception with the string message. ex.printStackTrace(); throw new PadoException(ex.getMessage()); } IndexSearcher searcher = new IndexSearcher(reader); TopDocs results; try { results = searcher.search(query, null, Integer.MAX_VALUE); for (ScoreDoc hit : results.scoreDocs) { Document doc; try { doc = searcher.doc(hit.doc); } catch (CorruptIndexException e) { e.printStackTrace(); throw new RuntimeException(e); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(e); } // IndexableField field = doc.getField("IdentityKey"); // if (field == null) { // continue; // } // Object identityKey = field.stringValue(); // if (identityKey == null) { // identityKey = field.numericValue(); // } // if (identityKey == null) { // BytesRef br = field.binaryValue(); // if (br != null) { // byte[] blob = br.bytes; // try { // identityKey = BlobHelper.deserializeBlob(blob); // identityKeySet.add(identityKey); // } catch (Exception ex) { // Logger.warning("Identity key deserialization error", ex); // } // } else { // identityKey = field.toString(); // } // } LuceneField luceneField = new LuceneField(); ITemporalKey temporalKey = luceneField.getTemporalKey(doc); if (temporalKey != null) { float docScore = hit.score; identityKeySet.add(temporalKey.getIdentityKey()); } } } catch (IOException e1) { e1.printStackTrace(); throw new RuntimeException(e1); } return identityKeySet; }
From source file:com.tuplejump.stargate.lucene.query.LuceneCondition.java
License:Apache License
/** * {@inheritDoc}/* w w w .j a va 2 s . c om*/ */ @Override public Query query(Options schema) { if (query == null) { throw new IllegalArgumentException("Query statement required"); } try { StandardQueryParser parser = new StandardQueryParser(schema.analyzer); parser.setNumericConfigMap(schema.numericFieldOptions); parser.setAllowLeadingWildcard(true); Query luceneQuery = parser.parse(query, getDefaultField(schema)); luceneQuery.setBoost(boost); logger.debug("Lucene query is {}", luceneQuery); return luceneQuery; } catch (Exception e) { throw new RuntimeException("Error while parsing lucene syntax query", e); } }
From source file:de.walware.statet.r.internal.core.rhelp.index.SearchQuery.java
License:Open Source License
static Query createMainQuery(final String fields[], final String queryText) throws QueryNodeException { final StandardQueryParser p = new StandardQueryParser(QUERY_ANALYZER); p.setDefaultOperator(Operator.AND);//from w ww . jav a 2s . c o m p.setAllowLeadingWildcard(true); p.setMultiFields(fields); return p.parse(queryText, null); }
From source file:io.vertigo.dynamo.plugins.collections.lucene.RamLuceneQueryFactory.java
License:Apache License
private static Query createFilteredQuery(final Analyzer queryAnalyser, final Query keywordsQuery, final List<ListFilter> filters) { final Builder queryBuilder = new BooleanQuery.Builder().add(keywordsQuery, BooleanClause.Occur.MUST); final StandardQueryParser queryParser = new StandardQueryParser(queryAnalyser); for (final ListFilter filter : filters) { try {//from w ww .j ava 2 s . co m queryBuilder.add(queryParser.parse(filter.getFilterValue(), null), isExclusion(filter) ? BooleanClause.Occur.MUST_NOT : BooleanClause.Occur.MUST); } catch (final QueryNodeException e) { throw WrappedException.wrap(e, "Erreur lors de la cration du filtrage de la requete"); } } return queryBuilder.build(); }
From source file:org.apache.geode.cache.lucene.internal.StringQueryProvider.java
License:Apache License
@Override public synchronized Query getQuery(LuceneIndex index) throws LuceneQueryException { if (luceneQuery == null) { String[] fields = index.getFieldNames(); LuceneIndexImpl indexImpl = (LuceneIndexImpl) index; StandardQueryParser parser = new StandardQueryParser(indexImpl.getAnalyzer()); try {/* w w w .j a va 2s . com*/ luceneQuery = parser.parse(query, defaultField); if (logger.isDebugEnabled()) { logger.debug("User query " + query + " is parsed to be: " + luceneQuery); } } catch (QueryNodeException e) { logger.debug("Query node exception:" + query, e); throw new LuceneQueryException("Malformed lucene query: " + query, e); } } return luceneQuery; }
From source file:org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndex.java
License:Apache License
static Query tokenToQuery(String text, String fieldName, Analyzer analyzer) { if (analyzer == null) { return null; }/*from w w w.ja v a 2 s . co m*/ StandardQueryParser parserHelper = new StandardQueryParser(analyzer); parserHelper.setAllowLeadingWildcard(true); parserHelper.setDefaultOperator(StandardQueryConfigHandler.Operator.AND); text = rewriteQueryText(text); try { return parserHelper.parse(text, fieldName); } catch (QueryNodeException e) { throw new RuntimeException(e); } }
From source file:org.efaps.admin.index.Searcher.java
License:Apache License
/** * Search./*from w ww . j ava2s. c om*/ * * @param _search the search * @return the search result * @throws EFapsException on error */ protected SearchResult executeSearch(final ISearch _search) throws EFapsException { final SearchResult ret = new SearchResult(); try { LOG.debug("Starting search with: {}", _search.getQuery()); final StandardQueryParser queryParser = new StandardQueryParser(Index.getAnalyzer()); queryParser.setAllowLeadingWildcard(true); if (EFapsSystemConfiguration.get().containsAttributeValue(KernelSettings.INDEXDEFAULTOP)) { queryParser.setDefaultOperator(EnumUtils.getEnum(StandardQueryConfigHandler.Operator.class, EFapsSystemConfiguration.get().getAttributeValue(KernelSettings.INDEXDEFAULTOP))); } else { queryParser.setDefaultOperator(StandardQueryConfigHandler.Operator.AND); } final Query query = queryParser.parse(_search.getQuery(), "ALL"); final IndexReader reader = DirectoryReader.open(Index.getDirectory()); Sort sort = _search.getSort(); if (sort == null) { sort = new Sort(new SortField(Key.CREATED.name(), SortField.Type.LONG, true)); } final FacetsConfig facetConfig = Index.getFacetsConfig(); final DirectoryTaxonomyReader taxoReader = new DirectoryTaxonomyReader(Index.getTaxonomyDirectory()); final IndexSearcher searcher = new IndexSearcher(reader); final FacetsCollector fc = new FacetsCollector(); final TopFieldDocs topFieldDocs = FacetsCollector.search(searcher, query, _search.getNumHits(), sort, fc); if (_search.getConfigs().contains(SearchConfig.ACTIVATE_DIMENSION)) { final Facets facets = new FastTaxonomyFacetCounts(taxoReader, facetConfig, fc); for (final FacetResult result : facets.getAllDims(1000)) { LOG.debug("FacetResult {}.", result); final DimConfig dimConfig = facetConfig.getDimConfig(result.dim); final Dimension retDim = new Dimension().setKey(result.dim); ret.getDimensions().add(retDim); for (final LabelAndValue labelValue : result.labelValues) { final DimValue dimValue = new DimValue().setLabel(labelValue.label) .setValue(labelValue.value.intValue()); dimValue.setPath(new String[] { retDim.getKey() }); retDim.getValues().add(dimValue); if (dimConfig.hierarchical) { addSubDimension(facets, dimValue, result.dim, labelValue.label); } } } } ret.setHitCount(topFieldDocs.totalHits); if (ret.getHitCount() > 0) { final ScoreDoc[] hits = topFieldDocs.scoreDocs; LOG.debug("Found {} hits.", hits.length); for (int i = 0; i < hits.length; ++i) { final Document doc = searcher.doc(hits[i].doc); final String oid = doc.get(Key.OID.name()); final String text = doc.get(Key.MSGPHRASE.name()); LOG.debug("{}. {}\t {}", i + 1, oid, text); final Instance instance = Instance.get(oid); final List<Instance> list; if (this.typeMapping.containsKey(instance.getType())) { list = this.typeMapping.get(instance.getType()); } else { list = new ArrayList<Instance>(); this.typeMapping.put(instance.getType(), list); } list.add(instance); final Element element = new Element().setOid(oid).setText(text); for (final Entry<String, Collection<String>> entry : _search.getResultFields().entrySet()) { for (final String name : entry.getValue()) { final String value = doc.get(name); if (value != null) { element.addField(name, value); } } } this.elements.put(instance, element); } } reader.close(); checkAccess(); ret.getElements().addAll(this.elements.values()); } catch (final IOException | QueryNodeException e) { LOG.error("Catched Exception", e); } return ret; }
From source file:org.gridkit.coherence.search.lucene.rest.StandardRestQueryParser.java
License:Apache License
public StandardRestQueryParser() { parser = new StandardQueryParser(new StandardAnalyzer(Version.LUCENE_42)); }
From source file:org.gridkit.coherence.search.lucene.xml.JAXBSchemaTest.java
License:Apache License
public Query parseStd(String query) { try {/*from w w w .java 2s . c o m*/ StandardQueryParser parser = new StandardQueryParser(new StandardAnalyzer(Version.LUCENE_42)); return parser.parse(query, "text"); } catch (QueryNodeException e) { throw new RuntimeException(e); } }
From source file:org.xbib.elasticsearch.test.SKOSLabelFilterTest.java
License:Apache License
@Test public void queryParserSearch() throws IOException, QueryNodeException { Document doc = new Document(); doc.add(new Field("content", "The quick brown fox jumps over the lazy dog", TextField.TYPE_STORED)); writer.addDocument(doc);// w ww . ja v a 2 s .co m searcher = new IndexSearcher(DirectoryReader.open(writer, false)); Query query = new StandardQueryParser(skosAnalyzer).parse("\"fox jumps\"", "content"); Assert.assertEquals(1, TestUtil.hitCount(searcher, query)); Assert.assertEquals("content:\"fox (jumps hops leaps)\"", query.toString()); Assert.assertEquals("org.apache.lucene.search.MultiPhraseQuery", query.getClass().getName()); query = new StandardQueryParser(new StandardAnalyzer(SKOSAnalysisPlugin.getLuceneVersion())) .parse("\"fox jumps\"", "content"); Assert.assertEquals(1, TestUtil.hitCount(searcher, query)); Assert.assertEquals("content:\"fox jumps\"", query.toString()); Assert.assertEquals("org.apache.lucene.search.PhraseQuery", query.getClass().getName()); }