List of usage examples for org.apache.lucene.search.highlight WeightedTerm getTerm
public String getTerm()
From source file:com.liferay.portal.search.lucene.LuceneHelperImpl.java
License:Open Source License
public String[] getQueryTerms(Query query) { String queryString = StringUtil.replace(query.toString(), StringPool.STAR, StringPool.BLANK); Query tempQuery = null;/* w w w.j a v a 2s.c o m*/ try { QueryParser queryParser = new QueryParser(getVersion(), StringPool.BLANK, getAnalyzer()); tempQuery = queryParser.parse(queryString); } catch (Exception e) { if (_log.isWarnEnabled()) { _log.warn("Unable to parse " + queryString); } tempQuery = query; } WeightedTerm[] weightedTerms = null; for (String fieldName : Field.KEYWORDS) { weightedTerms = QueryTermExtractor.getTerms(tempQuery, false, fieldName); if (weightedTerms.length > 0) { break; } } Set<String> queryTerms = new HashSet<String>(); for (WeightedTerm weightedTerm : weightedTerms) { queryTerms.add(weightedTerm.getTerm()); } return queryTerms.toArray(new String[queryTerms.size()]); }
From source file:com.liferay.portal.search.lucene31.LuceneHelperImpl.java
License:Open Source License
public String[] getQueryTerms(Query query) { String[] fieldNames = new String[] { Field.CONTENT, Field.DESCRIPTION, Field.PROPERTIES, Field.TITLE, Field.USER_NAME };/*from www . java 2 s .c om*/ WeightedTerm[] weightedTerms = null; for (String fieldName : fieldNames) { weightedTerms = QueryTermExtractor.getTerms(query, false, fieldName); if (weightedTerms.length > 0) { break; } } Set<String> queryTerms = new HashSet<String>(); for (WeightedTerm weightedTerm : weightedTerms) { queryTerms.add(weightedTerm.getTerm()); } return queryTerms.toArray(new String[queryTerms.size()]); }
From source file:it.unibz.instasearch.indexing.Searcher.java
License:Open Source License
/** * Extracts search terms and their weights * @param query//from w w w. j a v a2 s . co m * @return */ private static Map<String, Float> extractTerms(Query query) { WeightedTerm[] weightedTerms = QueryTermExtractor.getTerms(query, false, Field.CONTENTS.toString()); Map<String, Float> terms = new HashMap<String, Float>(weightedTerms.length); for (WeightedTerm weightedTerm : weightedTerms) terms.put(weightedTerm.getTerm(), weightedTerm.getWeight()); return terms; }
From source file:wvec.DocVec.java
public DocVec(WeightedTerm[] queryTerms, int numClusters) throws Exception { wvecMap = new HashMap<>(); for (WeightedTerm term : queryTerms) { WordVec qwv = WordVecs.getVec(term.getTerm()); if (qwv != null) { qwv.normalize();// www . j a v a 2 s . c o m wvecMap.put(qwv.getWord(), qwv); } } List<WordVec> wordList = new ArrayList<>(wvecMap.size()); for (Map.Entry<String, WordVec> e : wvecMap.entrySet()) { wordList.add(e.getValue()); } if (wordList.size() == 0) return; // Cluster the query word vecs clusterer = new KMeansPlusPlusClusterer<>(Math.min(numClusters, wordList.size())); List<CentroidCluster<WordVec>> clusters = clusterer.cluster(wordList); wvecMap.clear(); int i = 0; for (CentroidCluster<WordVec> c : clusters) { Clusterable clusterCenter = c.getCenter(); WordVec clusterWordVec = new WordVec("Cluster_" + i, clusterCenter.getPoint()); wvecMap.put(clusterWordVec.getWord(), clusterWordVec); i++; } }