Example usage for org.apache.lucene.document SortedDocValuesField SortedDocValuesField

List of usage examples for org.apache.lucene.document SortedDocValuesField SortedDocValuesField

Introduction

In this page you can find the example usage for org.apache.lucene.document SortedDocValuesField SortedDocValuesField.

Prototype

public SortedDocValuesField(String name, BytesRef bytes) 

Source Link

Document

Create a new sorted DocValues field.

Usage

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//  ww  w.j  av  a 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

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);//  www . j a  v a  2 s.  com
    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()));
    }//from   ww  w.j a  v  a2 s. c  o  m

    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. j  a v a  2 s  .c  o m*/

        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.gitblit.tickets.TicketIndexer.java

License:Apache License

private void toDocField(Document doc, Lucene lucene, String value) {
    if (StringUtils.isEmpty(value)) {
        return;//from w  ww . j  av a2 s  .com
    }
    doc.add(new org.apache.lucene.document.Field(lucene.name(), value, TextField.TYPE_STORED));
    doc.add(new SortedDocValuesField(lucene.name(), new BytesRef(value)));
}

From source file:com.github.tteofili.looseen.Test20NewsgroupsClassification.java

License:Apache License

void buildIndex(File indexDir, IndexWriter indexWriter) throws IOException {
    File[] groupsDir = indexDir.listFiles();
    if (groupsDir != null) {
        for (File group : groupsDir) {
            String groupName = group.getName();
            File[] posts = group.listFiles();
            if (posts != null) {
                for (File postFile : posts) {
                    String number = postFile.getName();
                    NewsPost post = parse(postFile, groupName, number);
                    Document d = new Document();
                    d.add(new StringField(CATEGORY_FIELD, post.getGroup(), Field.Store.YES));
                    d.add(new SortedDocValuesField(CATEGORY_FIELD, new BytesRef(post.getGroup())));
                    d.add(new TextField(SUBJECT_FIELD, post.getSubject(), Field.Store.YES));
                    d.add(new TextField(BODY_FIELD, post.getBody(), Field.Store.YES));
                    indexWriter.addDocument(d);
                }//from w  w  w .  j a  v a 2  s . c  o  m
            }
        }
    }
    indexWriter.commit();
}

From source file:com.querydsl.lucene5.LuceneQueryTest.java

License:Apache License

private Document createDocument(final String docTitle, final String docAuthor, final String docText,
        final int docYear, final double docGross) {
    Document doc = new Document();
    // Reusing field for performance
    if (titleField == null) {
        titleField = new TextField("title", docTitle, Store.YES);
        doc.add(titleField);/*w ww.  j  a va 2  s.  co  m*/
        titleSortedField = new SortedDocValuesField("title", new BytesRef(docTitle));
        doc.add(titleSortedField);
    } else {
        titleField.setStringValue(docTitle);
        titleSortedField.setBytesValue(new BytesRef(docTitle));
        doc.add(titleField);
        doc.add(titleSortedField);
    }
    if (authorField == null) {
        authorField = new TextField("author", docAuthor, Store.YES);
        doc.add(authorField);
        authorSortedField = new SortedDocValuesField("author", new BytesRef(docAuthor));
        doc.add(authorSortedField);

    } else {
        authorField.setStringValue(docAuthor);
        authorSortedField.setBytesValue(new BytesRef(docAuthor));
        doc.add(authorField);
        doc.add(authorSortedField);
    }
    if (textField == null) {
        textField = new TextField("text", docText, Store.YES);
        doc.add(textField);
        textSortedField = new SortedDocValuesField("text", new BytesRef(docText));
        doc.add(textSortedField);
    } else {
        textField.setStringValue(docText);
        textSortedField.setBytesValue(new BytesRef(docText));
        doc.add(textField);
        doc.add(textSortedField);
    }
    if (yearField == null) {
        yearField = new IntField("year", docYear, Store.YES);
        doc.add(yearField);
        yearSortedField = new NumericDocValuesField("year", docYear);
        doc.add(yearSortedField);
    } else {
        yearField.setIntValue(docYear);
        yearSortedField.setLongValue(docYear);
        doc.add(yearField);
        doc.add(yearSortedField);
    }

    if (grossField == null) {
        grossField = new DoubleField("gross", docGross, Store.YES);
        doc.add(grossField);
        grossSortedField = new DoubleDocValuesField("gross", docGross);
        doc.add(grossSortedField);
    } else {
        grossField.setDoubleValue(docGross);
        grossSortedField.setDoubleValue(docGross);
        doc.add(grossField);
        doc.add(grossSortedField);
    }

    return doc;
}

From source file:com.qwazr.search.field.SortedDocValuesType.java

License:Apache License

@Override
final public void fillValue(final Object value, final FieldConsumer consumer) {
    consumer.accept(new SortedDocValuesField(fieldName, new BytesRef(value.toString())));
}

From source file:com.stratio.cassandra.lucene.index.FSIndexTest.java

License:Apache License

@Test
public void testCRUD() throws IOException, InterruptedException {

    FSIndex index = new FSIndex("test_index", "com.stratio.cassandra.lucene:type=LuceneIndexes",
            Paths.get(folder.newFolder("directory" + UUID.randomUUID()).getPath()), new StandardAnalyzer(),
            REFRESH_SECONDS, IndexOptions.DEFAULT_RAM_BUFFER_MB, IndexOptions.DEFAULT_MAX_MERGE_MB,
            IndexOptions.DEFAULT_MAX_CACHED_MB, null);

    Sort sort = new Sort(new SortField("field", SortField.Type.STRING));
    assertEquals("Index must be empty", 0, index.getNumDocs());

    Term term1 = new Term("field", "value1");
    Document document1 = new Document();
    document1.add(new StringField("field", "value1", Field.Store.NO));
    document1.add(new SortedDocValuesField("field", new BytesRef("value1")));
    index.upsert(term1, document1);// w w w . ja  va2 s.  c  o  m

    Term term2 = new Term("field", "value2");
    Document document2 = new Document();
    document2.add(new StringField("field", "value2", Field.Store.NO));
    document2.add(new SortedDocValuesField("field", new BytesRef("value2")));
    index.upsert(term2, document2);

    index.commit();
    Thread.sleep(REFRESH_MILLISECONDS);
    assertEquals("Expected 2 documents", 2, index.getNumDocs());

    Query query = new WildcardQuery(new Term("field", "value*"));
    Set<String> fields = Sets.newHashSet("field");

    // Search
    //        Iterator<Document> iterator;
    //            iterator = index.search( query, sort, null, 1, fields);
    //            assertEquals("Expected 1 document", 1, results.size());
    //            ScoreDoc last3 = results.values().iterator().next();
    //            results = index.search(searcher, query, sort, last3, 1, fields);
    //            assertEquals("Expected 1 document", 1, results.size());

    // Delete by term
    index.delete(term1);
    index.commit();
    Thread.sleep(WAIT_MILLISECONDS);
    assertEquals("Expected 1 document", 1, index.getNumDocs());

    // Delete by query
    index.upsert(term1, document1);
    index.commit();
    Thread.sleep(WAIT_MILLISECONDS);
    assertEquals("Expected 2 documents", 2, index.getNumDocs());
    index.delete(new TermQuery(term1));
    Thread.sleep(WAIT_MILLISECONDS);
    assertEquals("Expected 1 document", 1, index.getNumDocs());

    // Upsert
    index.upsert(term1, document1);
    index.upsert(term2, document2);
    index.upsert(term2, document2);
    index.commit();
    Thread.sleep(WAIT_MILLISECONDS);
    assertEquals("Expected 2 documents", 2, index.getNumDocs());

    // Truncate
    index.truncate();
    index.commit();
    Thread.sleep(WAIT_MILLISECONDS);
    assertEquals("Expected 0 documents", 0, index.getNumDocs());

    // Delete
    index.delete();

    // Cleanup
    folder.delete();
}

From source file:com.stratio.cassandra.lucene.schema.mapping.KeywordMapper.java

License:Apache License

/** {@inheritDoc} */
@Override/*from  ww w.  jav  a  2  s .com*/
public Field sortedField(String name, String value, boolean isCollection) {
    BytesRef bytes = new BytesRef(value);
    if (isCollection) {
        return new SortedSetDocValuesField(name, bytes);
    } else {
        return new SortedDocValuesField(name, bytes);
    }
}