List of usage examples for org.apache.lucene.queryparser.flexible.standard QueryParserUtil escape
public static String escape(String s)
\. From source file:control.Controller.java
@Override public void actionPerformed(ActionEvent e) { if (!NER_Handler.error.isEmpty()) { JOptionPane.showMessageDialog(null, NER_Handler.error); return;//from w ww. j av a2 s. co m } switch (e.getActionCommand()) { case "Toggle tf_idf use": graph.tf_idf_useage = !graph.tf_idf_useage; break; case "csv output": graph.output = !graph.output; break; case "anotate": if (!graph.indexLoaded) { graph.initialize(); } float bTime = System.nanoTime(); ArrayList<String> words = ner.searchEntities(gui.textInput.getText()); ArrayList<String> tmp = new ArrayList<>(); for (String word : words) { if (!word.matches(".*[\"\\']+.*")) { tmp.add(QueryParserUtil.escape(word)); } } words = tmp; float time = System.nanoTime() - bTime; System.out.println("Anotationtime :" + (time / (Math.pow(10, 6)))); String newText = ""; for (String s : words) { newText += s + "\n"; } gui.entityOutput.setText(newText); HashMap<String, String> map = graph.findMostPromisingURI(words); newText = ""; for (String s : words) { newText += (map.get(s)) + "\n"; // newText+=GraphHandler.getEntity(map.get(s))+"\n"; } gui.neighborOutput.setText(newText); break; } }
From source file:net.asteasolutions.cinusuidi.sluncho.utils.SearchUtils.java
public static String cleanup(String str) { String result = str.replace("?", ""); result = result.replace(".", ""); result = result.replace("!", ""); result = QueryParserUtil.escape(str.trim()); int lastLen = result.length(); int newLen = lastLen; do {//from w w w.j ava2 s . c om lastLen = newLen; result = result.replaceAll(" ", " "); newLen = result.length(); } while (newLen < lastLen); return result; }
From source file:org.kew.rmf.core.lucene.LuceneHandler.java
License:Open Source License
/** * Retrieves a record by indexed id from the Lucene datastore. *//*from w ww. ja v a2 s .co m*/ public Map<String, String> getRecordById(String id) throws IOException { String queryString = Configuration.ID_FIELD_NAME + ":" + QueryParserUtil.escape(id); TopDocs resultDoc = null; try { resultDoc = queryLucene(queryString, getIndexSearcher(), 1); } catch (ParseException e) { logger.error("Unexpected error parsing query '" + queryString + "'", e); return null; } if (resultDoc.scoreDocs.length > 0) { return LuceneUtils.doc2Map(getFromLucene(resultDoc.scoreDocs[0].doc)); } else { return new HashMap<>(); } }
From source file:org.segrada.service.repository.orientdb.OrientDbFileRepository.java
License:Apache License
@Override public List<IFile> findBySearchTerm(String term, int maximum, boolean returnWithoutTerm) { List<IFile> hits = new ArrayList<>(); // empty search term and returnWithoutTerm false if (!returnWithoutTerm && (term == null || term.equals(""))) return hits; initDb();/* w w w . j a v a 2s .c om*/ // search for term List<ODocument> result; if (term != null && !term.isEmpty()) { // create query term for lucene full text search StringBuilder sb = new StringBuilder(); boolean first = true; for (String termPart : term.toLowerCase().split("\\s+")) { termPart = QueryParserUtil.escape(termPart); TermQuery termQuery1 = new TermQuery(new Term("title", termPart + "*")); TermQuery termQuery2 = new TermQuery(new Term("filename", termPart + "*")); if (first) first = false; else sb.append(" AND "); sb.append('(').append(termQuery1.toString()).append(" OR ").append(termQuery2.toString()) .append(')'); } // execute query OSQLSynchQuery<ODocument> query = new OSQLSynchQuery<>( "select * from File where " + createSearchTermFullText(term) + " LIMIT " + maximum); result = db.command(query).execute(); } else { // no term, just find top X entries // execute query OSQLSynchQuery<ODocument> query = new OSQLSynchQuery<>( "select * from File " + getDefaultOrder(true) + " LIMIT " + maximum); result = db.command(query).execute(); } // browse entities for (ODocument document : result) { hits.add(convertToEntity(document)); } return hits; }
From source file:org.segrada.service.repository.orientdb.OrientDbFileRepository.java
License:Apache License
/** * create search term for full text search * @param term term(s) to search for/*from w w w. j a v a 2 s . com*/ * @return search term part */ private static String createSearchTermFullText(String term) { // create query term for lucene full text search StringBuilder sb = new StringBuilder(" [title, filename] LUCENE '"); boolean first = true; for (String termPart : term.toLowerCase().split("\\s+")) { if (termPart.contains(":")) termPart = "\"" + termPart + "\""; else termPart = QueryParserUtil.escape(termPart); if (termPart.contains(".")) termPart = "\"" + termPart + "\""; else if (!termPart.startsWith("\"") || !termPart.endsWith("\"")) termPart += "*"; if (first) first = false; else sb.append(' '); sb.append(termPart); } sb.append('\''); return sb.toString(); }
From source file:org.segrada.service.repository.orientdb.OrientDbNodeRepository.java
License:Apache License
/** * create search term for full text search * @param term term(s) to search for/*from w w w .j a v a 2 s .com*/ * @return search term part */ private static String createSearchTermFullText(String term) { // create query term for lucene full text search StringBuilder sb = new StringBuilder(" [title, alternativeTitles] LUCENE '"); boolean first = true; for (String termPart : term.toLowerCase().split("\\s+")) { if (termPart.contains(":")) termPart = "\"" + termPart + "\""; else termPart = QueryParserUtil.escape(termPart); if (termPart.contains(".")) termPart = "\"" + termPart + "\""; else if (!termPart.startsWith("\"") || !termPart.endsWith("\"")) termPart += "*"; if (first) first = false; else sb.append(' '); sb.append(termPart); } sb.append('\''); return sb.toString(); }
From source file:org.segrada.service.repository.orientdb.OrientDbPictogramRepository.java
License:Apache License
@Override public List<IPictogram> findBySearchTerm(String term, int maximum, boolean returnWithoutTerm) { List<IPictogram> hits = new ArrayList<>(); // empty search term and returnWithoutTerm false if (!returnWithoutTerm && (term == null || term.equals(""))) return hits; initDb();/* w w w. j ava2s. co m*/ // search for term List<ODocument> result; if (term != null && !term.isEmpty()) { // create query term for lucene full text search StringBuilder sb = new StringBuilder(); boolean first = true; for (String termPart : term.toLowerCase().split("\\s+")) { termPart = QueryParserUtil.escape(termPart); TermQuery termQuery = new TermQuery(new Term("title", termPart + "*")); if (first) first = false; else sb.append(" AND "); sb.append(termQuery.toString()); } // execute query OSQLSynchQuery<ODocument> query = new OSQLSynchQuery<>( "select * from Pictogram where title LUCENE ? LIMIT " + maximum); result = db.command(query).execute(sb.toString()); } else { // no term, just find top X entries // execute query OSQLSynchQuery<ODocument> query = new OSQLSynchQuery<>("select * from Pictogram LIMIT " + maximum); result = db.command(query).execute(); } // browse entities and populate list for (ODocument document : result) hits.add(convertToEntity(document)); return hits; }
From source file:org.segrada.service.repository.orientdb.OrientDbRelationTypeRepository.java
License:Apache License
/** * create search term for full text search * @param term term(s) to search for/*from www. j a v a 2 s . c o m*/ * @return search term part */ private static String createSearchTermFullText(String term) { // create query term for lucene full text search StringBuilder sb = new StringBuilder(" [fromTitle, toTitle] LUCENE '"); boolean first = true; for (String termPart : term.toLowerCase().split("\\s+")) { if (termPart.contains(":")) termPart = "\"" + termPart + "\""; else termPart = QueryParserUtil.escape(termPart); if (termPart.contains(".")) termPart = "\"" + termPart + "\""; else if (!termPart.startsWith("\"") || !termPart.endsWith("\"")) termPart += "*"; if (first) first = false; else sb.append(' '); sb.append(termPart); } sb.append('\''); return sb.toString(); }
From source file:org.segrada.service.repository.orientdb.OrientDbSourceRepository.java
License:Apache License
/** * create search term for full text search * @param term term(s) to search for// ww w . j a v a2 s. com * @return search term part */ private static String createSearchTermFullText(String term) { StringBuilder sb = new StringBuilder(" [longTitle,shortRef,shortTitle] LUCENE '"); boolean first = true; for (String termPart : term.toLowerCase().split("\\s+")) { if (termPart.contains(":")) termPart = "\"" + termPart + "\""; else termPart = QueryParserUtil.escape(termPart); if (termPart.contains(".")) termPart = "\"" + termPart + "\""; else if (!termPart.startsWith("\"") || !termPart.endsWith("\"")) termPart += "*"; if (first) first = false; else sb.append(' '); sb.append(termPart); } sb.append('\''); return sb.toString(); }
From source file:org.segrada.service.repository.orientdb.OrientDbTagRepository.java
License:Apache License
@Override public List<ITag> findBySearchTerm(String term, int maximum, boolean returnWithoutTerm) { List<ITag> hits = new ArrayList<>(); // empty search term and returnWithoutTerm false if (!returnWithoutTerm && (term == null || term.equals(""))) return hits; initDb();//w w w. ja v a2 s. c o m // search for term List<ODocument> result; if (term != null && !term.isEmpty()) { // create query term for lucene full text search StringBuilder sb = new StringBuilder(); boolean first = true; for (String termPart : term.toLowerCase().split("\\s+")) { termPart = QueryParserUtil.escape(termPart); TermQuery termQuery = new TermQuery(new Term("title", termPart + "*")); if (first) first = false; else sb.append(" AND "); sb.append(termQuery.toString()); } // execute query OSQLSynchQuery<ODocument> query = new OSQLSynchQuery<>( "select * from Tag where title LUCENE ? LIMIT " + maximum); result = db.command(query).execute(sb.toString()); } else { // no term, just find top X entries // execute query OSQLSynchQuery<ODocument> query = new OSQLSynchQuery<>( "select * from Tag " + getDefaultOrder(true) + " LIMIT " + maximum); result = db.command(query).execute(); } // browse entities for (ODocument document : result) { hits.add(convertToEntity(document)); } return hits; }