Example usage for org.apache.lucene.search.highlight WeightedTerm getTerm

List of usage examples for org.apache.lucene.search.highlight WeightedTerm getTerm

Introduction

In this page you can find the example usage for org.apache.lucene.search.highlight WeightedTerm getTerm.

Prototype

public String getTerm() 

Source Link

Usage

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++;
    }
}