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

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

Introduction

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

Prototype

public BytesRef(CharSequence text) 

Source Link

Document

Initialize the byte[] from the UTF8 bytes for the provided String.

Usage

From source file:com.b2international.index.lucene.IntIndexField.java

License:Apache License

@Override
protected BytesRef toBytesRef(Integer value) {
    byte[] packed = new byte[Integer.BYTES];
    NumericUtils.intToSortableBytes(value, packed, 0);
    return new BytesRef(packed);
}

From source file:com.b2international.index.lucene.LongIndexField.java

License:Apache License

@Override
protected BytesRef toBytesRef(Long value) {
    byte[] packed = new byte[Long.BYTES];
    NumericUtils.longToSortableBytes(value, packed, 0);
    return new BytesRef(packed);
}

From source file:com.b2international.index.lucene.StringIndexFieldBase.java

License:Apache License

@Override
protected BytesRef toBytesRef(String value) {
    return new BytesRef(value);
}

From source file:com.basho.yokozuna.handler.EntropyData.java

License:Open Source License

static BytesRef decodeCont(String cont) {
    byte[] bytes = Base64.decodeBase64(cont);
    return new BytesRef(bytes);
}

From source file:com.difference.historybook.index.lucene.IndexDocumentAdapter.java

License:Apache License

/**
 * @param url the complete URL for the page being indexed in this document
 * @return this for method chaining/*from  w  w  w.j a va  2 s  .co m*/
 */
public IndexDocumentAdapter setUrl(String url) {
    doc.add(new SortedDocValuesField(FIELD_URL_GROUP, new BytesRef(url)));
    doc.add(new StringField(FIELD_URL, url, Field.Store.YES));
    setDomainField(url);
    return this;
}

From source file:com.epam.catgenome.dao.index.FeatureIndexDao.java

License:Open Source License

public IndexSearchResult<FeatureIndexEntry> searchFeaturesInInterval(List<? extends FeatureFile> files,
        int start, int end, Chromosome chromosome) throws IOException {

    List<? extends FeatureFile> indexedFiles = files.stream()
            .filter(f -> fileManager.indexForFeatureFileExists(f)).collect(Collectors.toList());
    if (indexedFiles.isEmpty()) {
        return new IndexSearchResult<>(Collections.emptyList(), false, 0);
    }/*  w w  w.  j ava 2  s  .  c  o  m*/
    SimpleFSDirectory[] indexes = fileManager.getIndexesForFiles(files);

    try (MultiReader reader = openMultiReader(indexes)) {
        if (reader.numDocs() == 0) {
            return new IndexSearchResult<>(Collections.emptyList(), false, 0);
        }
        BooleanQuery.Builder mainBuilder = new BooleanQuery.Builder();
        Query chrQuery = new TermQuery(new Term(FeatureIndexFields.CHROMOSOME_ID.getFieldName(),
                new BytesRef(chromosome.getId().toString())));
        mainBuilder.add(chrQuery, BooleanClause.Occur.MUST);

        BooleanQuery.Builder featureTypeBuilder = new BooleanQuery.Builder();
        featureTypeBuilder.add(new TermQuery(
                new Term(FeatureIndexFields.FEATURE_TYPE.getFieldName(), FeatureType.GENE.getFileValue())),
                BooleanClause.Occur.SHOULD);
        featureTypeBuilder.add(new TermQuery(
                new Term(FeatureIndexFields.FEATURE_TYPE.getFieldName(), FeatureType.EXON.getFileValue())),
                BooleanClause.Occur.SHOULD);

        mainBuilder.add(featureTypeBuilder.build(), BooleanClause.Occur.MUST);

        BooleanQuery.Builder rangeBuilder = new BooleanQuery.Builder();
        //start in interval
        Query startQuery = IntPoint.newRangeQuery(FeatureIndexFields.START_INDEX.getFieldName(), start, end);
        rangeBuilder.add(startQuery, BooleanClause.Occur.SHOULD);
        //end in interval
        Query endQuery = IntPoint.newRangeQuery(FeatureIndexFields.END_INDEX.getFieldName(), start, end);
        rangeBuilder.add(endQuery, BooleanClause.Occur.SHOULD);

        //feature lasts along all the interval (start < range and end > range)
        BooleanQuery.Builder spanQueryBuilder = new BooleanQuery.Builder();
        Query startExtQuery = IntPoint.newRangeQuery(FeatureIndexFields.START_INDEX.getFieldName(), 0,
                start - 1);
        spanQueryBuilder.add(startExtQuery, BooleanClause.Occur.MUST);

        Query endExtQuery = IntPoint.newRangeQuery(FeatureIndexFields.END_INDEX.getFieldName(), end + 1,
                Integer.MAX_VALUE);
        spanQueryBuilder.add(endExtQuery, BooleanClause.Occur.MUST);
        rangeBuilder.add(spanQueryBuilder.build(), BooleanClause.Occur.SHOULD);

        mainBuilder.add(rangeBuilder.build(), BooleanClause.Occur.MUST);

        return searchFileIndexes(files, mainBuilder.build(), null, reader.numDocs(), null);

    } finally {
        for (SimpleFSDirectory index : indexes) {
            IOUtils.closeQuietly(index);
        }
    }
}

From source file:com.epam.catgenome.dao.index.FeatureIndexDao.java

License:Open Source License

private void addCommonDocumentFields(Document document, FeatureIndexEntry entry, final Long featureFileId) {
    document.add(new SortedStringField(FeatureIndexFields.FEATURE_ID.getFieldName(), entry.getFeatureId()));

    FieldType fieldType = new FieldType();
    fieldType.setOmitNorms(true);/* w w w .  j  a  v a2s  .  co  m*/
    fieldType.setIndexOptions(IndexOptions.DOCS);
    fieldType.setStored(true);
    fieldType.setTokenized(false);
    fieldType.setDocValuesType(DocValuesType.SORTED);
    fieldType.freeze();
    Field field = new Field(FeatureIndexFields.CHROMOSOME_ID.getFieldName(),
            entry.getChromosome() != null ? new BytesRef(entry.getChromosome().getId().toString())
                    : new BytesRef(""),
            fieldType);
    document.add(field);
    document.add(new SortedStringField(FeatureIndexFields.CHROMOSOME_NAME.getFieldName(),
            entry.getChromosome().getName(), true));

    document.add(new SortedIntPoint(FeatureIndexFields.START_INDEX.getFieldName(), entry.getStartIndex()));
    document.add(new StoredField(FeatureIndexFields.START_INDEX.getFieldName(), entry.getStartIndex()));
    document.add(new SortedDocValuesField(FeatureIndexFields.START_INDEX.getGroupName(),
            new BytesRef(entry.getStartIndex().toString())));

    document.add(new SortedIntPoint(FeatureIndexFields.END_INDEX.getFieldName(), entry.getEndIndex()));
    document.add(new StoredField(FeatureIndexFields.END_INDEX.getFieldName(), entry.getEndIndex()));
    document.add(new SortedDocValuesField(FeatureIndexFields.END_INDEX.getGroupName(),
            new BytesRef(entry.getStartIndex().toString())));

    document.add(new StringField(FeatureIndexFields.FEATURE_TYPE.getFieldName(),
            entry.getFeatureType() != null ? entry.getFeatureType().getFileValue() : "", Field.Store.YES));
    document.add(new StringField(FeatureIndexFields.FILE_ID.getFieldName(), featureFileId.toString(),
            Field.Store.YES));

    document.add(new StringField(FeatureIndexFields.FEATURE_NAME.getFieldName(),
            entry.getFeatureName() != null ? entry.getFeatureName().toLowerCase() : "", Field.Store.YES));
    document.add(new SortedDocValuesField(FeatureIndexFields.FEATURE_NAME.getFieldName(),
            new BytesRef(entry.getFeatureName() != null ? entry.getFeatureName() : "")));

    document.add(new SortedSetDocValuesFacetField(FeatureIndexFields.CHR_ID.getFieldName(),
            entry.getChromosome().getId().toString()));

    document.add(new SortedStringField(FeatureIndexFields.UID.getFieldName(), entry.getUuid().toString()));
    document.add(new SortedSetDocValuesFacetField(FeatureIndexFields.F_UID.getFieldName(),
            entry.getUuid().toString()));
}

From source file:com.epam.catgenome.dao.index.FeatureIndexDao.java

License:Open Source License

private void addVcfDocumentFields(Document document, FeatureIndexEntry entry) {
    VcfIndexEntry vcfIndexEntry = (VcfIndexEntry) entry;
    document.add(new SortedStringField(FeatureIndexFields.VARIATION_TYPE.getFieldName(),
            vcfIndexEntry.getVariationType().name()));

    if (StringUtils.isNotBlank(vcfIndexEntry.getFailedFilter())) {
        document.add(new SortedStringField(FeatureIndexFields.FAILED_FILTER.getFieldName(),
                vcfIndexEntry.getFailedFilter()));
    }// w  ww.j a  v a  2 s  . com

    document.add(new SortedFloatPoint(FeatureIndexFields.QUALITY.getFieldName(),
            vcfIndexEntry.getQuality().floatValue()));
    document.add(new StoredField(FeatureIndexFields.QUALITY.getFieldName(),
            vcfIndexEntry.getQuality().floatValue()));
    document.add(new SortedDocValuesField(FeatureIndexFields.QUALITY.getGroupName(),
            new BytesRef(vcfIndexEntry.getQuality().toString())));

    if (StringUtils.isNotBlank(vcfIndexEntry.getGene())) {
        document.add(new StringField(FeatureIndexFields.GENE_ID.getFieldName(),
                vcfIndexEntry.getGene().toLowerCase(), Field.Store.YES));
        document.add(new SortedStringField(FeatureIndexFields.GENE_IDS.getFieldName(),
                vcfIndexEntry.getGeneIds(), true));
    }

    if (StringUtils.isNotBlank(vcfIndexEntry.getGeneName())) {
        document.add(new StringField(FeatureIndexFields.GENE_NAME.getFieldName(),
                vcfIndexEntry.getGeneName().toLowerCase(), Field.Store.YES));
        document.add(new SortedStringField(FeatureIndexFields.GENE_NAMES.getFieldName(),
                vcfIndexEntry.getGeneNames(), true));
    }

    document.add(new SortedStringField(FeatureIndexFields.IS_EXON.getFieldName(),
            vcfIndexEntry.getExon().toString()));

    if (vcfIndexEntry.getInfo() != null) {
        addVcfDocumentInfoFields(document, vcfIndexEntry);
    }
}

From source file:com.epam.catgenome.dao.index.FeatureIndexDao.java

License:Open Source License

private void addVcfDocumentInfoFields(Document document, VcfIndexEntry vcfIndexEntry) {
    for (Map.Entry<String, Object> info : vcfIndexEntry.getInfo().entrySet()) {
        if (viewFieldPattern.matcher(info.getKey()).matches()) { //view fields are for view purposes
            continue;
        }//from w w  w.  ja v a  2s. c  om

        String viewKey = "_" + info.getKey() + "_v";
        if (info.getValue() instanceof Integer) {
            document.add(new SortedIntPoint(info.getKey().toLowerCase(), (Integer) info.getValue()));
            if (vcfIndexEntry.getInfo().containsKey(viewKey)) {
                document.add(new StoredField(info.getKey().toLowerCase(),
                        vcfIndexEntry.getInfo().get(viewKey).toString()));
                document.add(
                        new SortedDocValuesField(FeatureIndexFields.getGroupName(info.getKey().toLowerCase()),
                                new BytesRef(vcfIndexEntry.getInfo().get(viewKey).toString())));
            } else {
                document.add(new StoredField(info.getKey().toLowerCase(), (Integer) info.getValue()));
                document.add(
                        new SortedDocValuesField(FeatureIndexFields.getGroupName(info.getKey().toLowerCase()),
                                new BytesRef(info.getValue().toString())));
            }
        } else if (info.getValue() instanceof Float) {
            document.add(new SortedFloatPoint(info.getKey().toLowerCase(), (Float) info.getValue()));

            if (vcfIndexEntry.getInfo().containsKey(viewKey)) {
                document.add(new StoredField(info.getKey().toLowerCase(),
                        vcfIndexEntry.getInfo().get(viewKey).toString()));
                document.add(
                        new SortedDocValuesField(FeatureIndexFields.getGroupName(info.getKey().toLowerCase()),
                                new BytesRef(vcfIndexEntry.getInfo().get(viewKey).toString())));
            } else {
                document.add(new StoredField(info.getKey().toLowerCase(), (Float) info.getValue()));
                document.add(
                        new SortedDocValuesField(FeatureIndexFields.getGroupName(info.getKey().toLowerCase()),
                                new BytesRef(info.getValue().toString())));
            }
        } else {
            if (vcfIndexEntry.getInfo().containsKey(viewKey)) {
                document.add(new SortedStringField(info.getKey().toLowerCase(),
                        vcfIndexEntry.getInfo().get(viewKey).toString()));
            } else {
                document.add(
                        new SortedStringField(info.getKey().toLowerCase(), info.getValue().toString().trim()));
            }
        }
    }
}

From source file:com.gemstone.gemfire.cache.lucene.internal.repository.serializer.SerializerUtil.java

License:Apache License

/**
 * Convert a key to a byte array./*from www .j  a  v a  2s. co m*/
 */
private static BytesRef keyToBytes(Object key) {
    ByteArrayOutputStream buffer = LOCAL_BUFFER.get();

    try {
        DataOutputStream out = new DataOutputStream(buffer);
        DataSerializer.writeObject(key, out);
        out.flush();
        BytesRef result = new BytesRef(buffer.toByteArray());
        buffer.reset();
        return result;
    } catch (IOException e) {
        throw new InternalGemFireError("Unable to serialize key", e);
    }
}