Example usage for org.apache.lucene.util BytesRef utf8ToString

List of usage examples for org.apache.lucene.util BytesRef utf8ToString

Introduction

In this page you can find the example usage for org.apache.lucene.util BytesRef utf8ToString.

Prototype

public String utf8ToString() 

Source Link

Document

Interprets stored bytes as UTF8 bytes, returning the resulting string

Usage

From source file:org.apache.oodt.cas.filemgr.cli.action.LuceneQueryCliAction.java

License:Apache License

private QueryCriteria generateCASQuery(Query luceneQuery) throws CatalogException, QueryFormulationException {
    if (luceneQuery instanceof TermQuery) {
        Term t = ((TermQuery) luceneQuery).getTerm();
        if (t.field().equals(FREE_TEXT_BLOCK)) {
            throw new CatalogException("Free text blocks not supported!");
        } else {/*from   w  w  w.j  a v a 2 s  . c o m*/
            return new TermQueryCriteria(t.field(), t.text());
        }
    } else if (luceneQuery instanceof PhraseQuery) {
        Term[] t = ((PhraseQuery) luceneQuery).getTerms();
        if (t[0].field().equals(FREE_TEXT_BLOCK)) {
            throw new CatalogException("Free text blocks not supported!");
        } else {
            BooleanQueryCriteria bqc = new BooleanQueryCriteria();
            bqc.setOperator(BooleanQueryCriteria.AND);
            for (Term aT : t) {
                bqc.addTerm(new TermQueryCriteria(aT.field(), aT.text()));
            }
            return bqc;
        }
    } else if (luceneQuery instanceof TermRangeQuery) {
        BytesRef startT = ((TermRangeQuery) luceneQuery).getLowerTerm();
        BytesRef endT = ((TermRangeQuery) luceneQuery).getUpperTerm();
        //TODO CHECK Inclusive
        boolean inc = false;
        if (((TermRangeQuery) luceneQuery).includesLower() && ((TermRangeQuery) luceneQuery).includesUpper()) {
            inc = true;
        }
        return new RangeQueryCriteria(((TermRangeQuery) luceneQuery).getField(), startT.utf8ToString(),
                endT.utf8ToString(), inc);
    } else if (luceneQuery instanceof BooleanQuery) {
        List<BooleanClause> clauses = ((BooleanQuery) luceneQuery).clauses();
        BooleanQueryCriteria bqc = new BooleanQueryCriteria();
        bqc.setOperator(BooleanQueryCriteria.AND);
        for (BooleanClause clause : clauses) {
            if (clause.getOccur().equals(BooleanClause.Occur.SHOULD)) {
                bqc.setOperator(BooleanQueryCriteria.OR);
            }
            bqc.addTerm(generateCASQuery(clause.getQuery()));
        }
        return bqc;
    } else {
        throw new CatalogException("Error parsing query! Cannot determine clause type: ["
                + luceneQuery.getClass().getName() + "] !");
    }
}

From source file:org.apache.oodt.cas.filemgr.tools.CatalogSearch.java

License:Apache License

public static void GenerateCASQuery(org.apache.oodt.cas.filemgr.structs.Query casQuery, Query luceneQuery) {
    if (luceneQuery instanceof TermQuery) {
        Term t = ((TermQuery) luceneQuery).getTerm();
        if (!t.field().equals(freeTextBlock)) {
            casQuery.addCriterion(new TermQueryCriteria(t.field(), t.text()));
        }/*  w  w  w . ja  v  a2s .  c o  m*/
    } else if (luceneQuery instanceof PhraseQuery) {
        Term[] t = ((PhraseQuery) luceneQuery).getTerms();
        if (!t[0].field().equals(freeTextBlock)) {
            for (Term aT : t) {
                casQuery.addCriterion(new TermQueryCriteria(aT.field(), aT.text()));
            }
        }
    } else if (luceneQuery instanceof TermRangeQuery) {
        BytesRef startT = ((TermRangeQuery) luceneQuery).getLowerTerm();
        BytesRef endT = ((TermRangeQuery) luceneQuery).getUpperTerm();

        //TODO CHECK THIS RANGE!
        casQuery.addCriterion(new RangeQueryCriteria(((TermRangeQuery) luceneQuery).getField(),
                startT.utf8ToString(), endT.utf8ToString()));
    } else if (luceneQuery instanceof BooleanQuery) {
        List<BooleanClause> clauses = ((BooleanQuery) luceneQuery).clauses();
        for (BooleanClause clause : clauses) {
            GenerateCASQuery(casQuery, (clause).getQuery());
        }
    } else {
        System.out.println("Error Parsing Query");
        System.exit(-1);
    }
}

From source file:org.apache.oodt.cas.filemgr.tools.QueryTool.java

License:Apache License

public void generateCASQuery(org.apache.oodt.cas.filemgr.structs.Query casQuery, Query luceneQuery) {
    if (luceneQuery instanceof TermQuery) {
        Term t = ((TermQuery) luceneQuery).getTerm();
        if (!t.field().equals(freeTextBlock)) {
            casQuery.addCriterion(new TermQueryCriteria(t.field(), t.text()));
        }//from w w  w  .  j a  v a2  s .c  om
    } else if (luceneQuery instanceof PhraseQuery) {
        Term[] t = ((PhraseQuery) luceneQuery).getTerms();
        if (!t[0].field().equals(freeTextBlock)) {
            for (Term aT : t) {
                casQuery.addCriterion(new TermQueryCriteria(aT.field(), aT.text()));
            }
        }
    } else if (luceneQuery instanceof TermRangeQuery) {
        BytesRef startT = ((TermRangeQuery) luceneQuery).getLowerTerm();
        BytesRef endT = ((TermRangeQuery) luceneQuery).getUpperTerm();
        casQuery.addCriterion(new RangeQueryCriteria(((TermRangeQuery) luceneQuery).getField(),
                startT.utf8ToString(), endT.utf8ToString()));
    } else if (luceneQuery instanceof BooleanQuery) {
        List<BooleanClause> clauses = ((BooleanQuery) luceneQuery).clauses();
        for (BooleanClause clause : clauses) {
            generateCASQuery(casQuery, (clause).getQuery());
        }
    } else {
        throw new RuntimeException("Error parsing query! Cannot determine clause type: ["
                + luceneQuery.getClass().getName() + "] !");
    }
}

From source file:org.apache.solr.handler.component.FieldFacetStats.java

License:Apache License

public boolean facetTermNum(int docID, int statsTermNum) throws IOException {
    if (topLevelSortedValues == null) {
        topLevelSortedValues = FieldCache.DEFAULT.getTermsIndex(topLevelReader, name);
    }// w ww.j  a  v  a 2s. c o m

    int term = topLevelSortedValues.getOrd(docID);
    int arrIdx = term;
    if (arrIdx >= 0 && arrIdx < topLevelSortedValues.getValueCount()) {
        final BytesRef br;
        if (term == -1) {
            br = null;
        } else {
            br = tempBR;
            topLevelSortedValues.lookupOrd(term, tempBR);
        }
        String key = br == null ? null : br.utf8ToString();
        while (facetStatsTerms.size() <= statsTermNum) {
            facetStatsTerms.add(new HashMap<String, Integer>());
        }
        final Map<String, Integer> statsTermCounts = facetStatsTerms.get(statsTermNum);
        Integer statsTermCount = statsTermCounts.get(key);
        if (statsTermCount == null) {
            statsTermCounts.put(key, 1);
        } else {
            statsTermCounts.put(key, statsTermCount + 1);
        }
        return true;
    }
    return false;
}

From source file:org.apache.solr.handler.component.TermVectorComponent.java

License:Apache License

private void mapOneVector(NamedList<Object> docNL, FieldOptions fieldOptions, IndexReader reader, int docID,
        TermsEnum termsEnum, String field) throws IOException {
    NamedList<Object> fieldNL = new NamedList<Object>();
    docNL.add(field, fieldNL);// ww  w  . j a v a2  s.  c om

    BytesRef text;
    DocsAndPositionsEnum dpEnum = null;
    while ((text = termsEnum.next()) != null) {
        String term = text.utf8ToString();
        NamedList<Object> termInfo = new NamedList<Object>();
        fieldNL.add(term, termInfo);
        final int freq = (int) termsEnum.totalTermFreq();
        if (fieldOptions.termFreq == true) {
            termInfo.add("tf", freq);
        }

        dpEnum = termsEnum.docsAndPositions(null, dpEnum);
        boolean useOffsets = false;
        boolean usePositions = false;
        if (dpEnum != null) {
            dpEnum.nextDoc();
            usePositions = fieldOptions.positions;
            useOffsets = fieldOptions.offsets;
        }

        NamedList<Integer> positionsNL = null;
        NamedList<Number> theOffsets = null;

        if (usePositions || useOffsets) {
            for (int i = 0; i < freq; i++) {
                final int pos = dpEnum.nextPosition();
                if (usePositions && pos >= 0) {
                    if (positionsNL == null) {
                        positionsNL = new NamedList<Integer>();
                        termInfo.add("positions", positionsNL);
                    }
                    positionsNL.add("position", pos);
                }

                if (useOffsets && theOffsets == null) {
                    if (dpEnum.startOffset() == -1) {
                        useOffsets = false;
                    } else {
                        theOffsets = new NamedList<Number>();
                        termInfo.add("offsets", theOffsets);
                    }
                }

                if (theOffsets != null) {
                    theOffsets.add("start", dpEnum.startOffset());
                    theOffsets.add("end", dpEnum.endOffset());
                }
            }
        }

        int df = 0;
        if (fieldOptions.docFreq || fieldOptions.tfIdf) {
            df = reader.docFreq(new Term(field, text));
        }

        if (fieldOptions.docFreq) {
            termInfo.add("df", df);
        }

        // TODO: this is not TF/IDF by anyone's definition!
        if (fieldOptions.tfIdf) {
            double tfIdfVal = ((double) freq) / df;
            termInfo.add("tf-idf", tfIdfVal);
        }
    }
}

From source file:org.apache.solr.request.RegexBytesRefFilter.java

License:Apache License

@Override
public boolean test(BytesRef term) {
    return includeString(term.utf8ToString());
}

From source file:org.apache.solr.response.transform.CitationsTransformerFactory.java

License:Apache License

private List<String> getCitationValues(SolrDocument doc, int docid) {
    ArrayList<String> data = new ArrayList<String>();
    BytesRef ret = new BytesRef();
    int[] citations = cache.getCitations(docid);

    if (citations != null) {
        for (int i = 0; i < citations.length; i++) {
            if (citations[i] < 0) // unresolved refs = -1
                continue;
            if (idMapping != null) {
                idMapping.get(citations[i], ret);
                data.add(ret.utf8ToString());
            } else {
                data.add(Integer.toString(citations[i]));
            }//from  ww  w . j  av  a2s.c om
        }
    }
    return data;
}

From source file:org.apache.solr.response.transform.CitationsTransformerFactory.java

License:Apache License

private List<String> getReferenceValues(SolrDocument doc, int docid) {
    ArrayList<String> data = new ArrayList<String>();
    BytesRef ret = new BytesRef();
    int[] references = cache.getReferences(docid);

    if (references != null) {
        for (int i = 0; i < references.length; i++) {
            if (references[i] < 0) // unresolved refs = -1
                continue;
            if (idMapping != null) {
                idMapping.get(references[i], ret);
                data.add(ret.utf8ToString());
            } else {
                data.add(Integer.toString(references[i]));
            }/*from w  w w. j a va2  s. com*/
        }
    }
    return data;
}

From source file:org.apache.solr.schema.EnumField.java

License:Apache License

/**
 * {@inheritDoc}/* w ww .j  a  va2s  .co m*/
 */
@Override
public String readableToIndexed(String val) {
    if (val == null)
        return null;

    final BytesRef bytes = new BytesRef(NumericUtils.BUF_SIZE_LONG);
    readableToIndexed(val, bytes);
    return bytes.utf8ToString();
}

From source file:org.apache.solr.schema.EnumField.java

License:Apache License

/**
 * {@inheritDoc}/*from w w w .j  av a 2  s  .c  o  m*/
 */
@Override
public String storedToIndexed(IndexableField f) {
    final Number val = f.numericValue();
    if (val == null)
        return null;
    final BytesRef bytes = new BytesRef(NumericUtils.BUF_SIZE_LONG);
    NumericUtils.intToPrefixCoded(val.intValue(), 0, bytes);
    return bytes.utf8ToString();
}