List of usage examples for org.apache.lucene.util BytesRef BytesRef
public BytesRef(CharSequence text)
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); } }