Example usage for org.apache.lucene.document StoredField TYPE

List of usage examples for org.apache.lucene.document StoredField TYPE

Introduction

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

Prototype

FieldType TYPE

To view the source code for org.apache.lucene.document StoredField TYPE.

Click Source Link

Document

Type for a stored-only field.

Usage

From source file:com.basistech.lucene.tools.LuceneQueryToolTest.java

License:Apache License

@Test
public void testBinaryField() throws IOException, ParseException {
    Directory dir = new RAMDirectory();
    Analyzer analyzer = new StandardAnalyzer();
    IndexWriterConfig config = new IndexWriterConfig(analyzer);
    IndexWriter writer = new IndexWriter(dir, config);
    Document doc = new Document();
    doc.add(new Field("id", "1", StringField.TYPE_STORED));
    doc.add(new Field("binary-field", "ABC".getBytes(Charsets.UTF_8), StoredField.TYPE));
    writer.addDocument(doc);//from  w  w w  .j av a  2 s  .  com
    writer.close();
    reader = DirectoryReader.open(dir);

    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    PrintStream out = new PrintStream(bytes);
    LuceneQueryTool lqt = new LuceneQueryTool(reader, out);
    lqt.run(new String[] { "id:1" });
    String result = Joiner.on('\n').join(getOutput(bytes));
    assertTrue(result.contains("0x414243")); // binary rep of "ABC"
}

From source file:com.o19s.es.explore.ExplorerQueryTests.java

License:Apache License

@Before
public void setupIndex() throws Exception {
    dir = new RAMDirectory();

    try (IndexWriter indexWriter = new IndexWriter(dir, new IndexWriterConfig(Lucene.STANDARD_ANALYZER))) {
        for (int i = 0; i < docs.length; i++) {
            Document doc = new Document();
            doc.add(new Field("_id", Integer.toString(i + 1), StoredField.TYPE));
            doc.add(newTextField("text", docs[i], Field.Store.YES));
            indexWriter.addDocument(doc);
        }/*from  ww  w .ja va 2s .c  om*/
    }

    reader = DirectoryReader.open(dir);
    searcher = new IndexSearcher(reader);
}

From source file:gov.nist.basekb.FreebaseIndexer.java

License:LGPL

public void indexRecord(IndexWriter writer, String subject, Map<String, List<String>> predValues)
        throws Exception {
    Document doc = new Document();
    Field subjField = new StringField(FIELD_NAME_SUBJECT, normalizeUri(subject), Field.Store.YES);
    //printlnDbg("DBG: indexRecord: " + subject);
    doc.add(subjField);//from  ww  w . j  a v  a 2  s.  com

    FieldType IndexedField = new FieldType(TextField.TYPE_NOT_STORED);
    IndexedField.setStoreTermVectors(INDEX_TERMVECTORS);

    FieldType IndexedStoredField = new FieldType(TextField.TYPE_STORED);
    IndexedStoredField.setStoreTermVectors(INDEX_TERMVECTORS);

    long pagerank = 0;

    for (Map.Entry<String, List<String>> entry : predValues.entrySet()) {
        String predicate = normalizeUri(entry.getKey());
        List<String> values = entry.getValue();

        //printlnDbg("DBG:  " + predicate + ": " + values);
        for (String value : values) {
            String valueType = getValueType(value);
            value = normalizeValue(value);
            if (isIndexedPredicate(predicate)) {
                if (valueType == VALUE_TYPE_URI)
                    // treat URI elements as atomic strings (e.g., types):
                    doc.add(new Field(predicate, value, StoredField.TYPE));
                else if (valueType == VALUE_TYPE_INT)
                    if (predicate.equals("pr_bin"))
                        pagerank = Long.parseLong(value);
                    else
                        doc.add(new SortedNumericDocValuesField(predicate, Long.parseLong(value)));
                else {
                    // all others, run through the analyzer:
                    String lang = INDEX_LANGUAGE ? getValueLanguage(value) : null;
                    if (INDEX_LANGUAGE && lang != null
                            && (isSupportedLanguage(lang) || isSupportedLanguage(getLanguageRoot(lang)))) {
                        // multi-lingual indexing: if we have a supported language, we store the field
                        // and then add an index entry with the language-qualified predicate:
                        doc.add(new Field(predicate, value, StoredField.TYPE));
                        if (INDEX_PREDICATES)
                            doc.add(new Field(languageQualifiedPredicate(predicate, lang), value,
                                    IndexedStoredField));
                        if (INDEX_TEXT)
                            doc.add(new Field(languageQualifiedPredicate(FIELD_NAME_TEXT, lang), value,
                                    IndexedField));
                    } else {
                        // mono-lingual indexing or no language designation:
                        if (INDEX_PREDICATES)
                            doc.add(new Field(predicate, value, IndexedStoredField));
                        if (INDEX_TEXT) {
                            doc.add(new Field(FIELD_NAME_TEXT, value, IndexedField));
                            // make sure we store the triple if it wasn't already:
                            if (!INDEX_PREDICATES)
                                doc.add(new Field(predicate, value, StoredField.TYPE));
                        }
                    }
                }
            } else
                doc.add(new Field(predicate, value, StoredField.TYPE));
        }
    }
    doc.add(new SortedNumericDocValuesField("pr_bin", pagerank));

    Labeling lab = classify(doc, classifier);
    doc.add(new Field("best_class", lab.getBestLabel().toString(), StoredField.TYPE));
    doc.add(new Field("all_classes", labelsToString(lab), StoredField.TYPE));

    // we are creating the index from scratch, so we just add the document:
    writer.addDocument(doc);
}

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

License:Apache License

@Override
public List<IndexableField> createFields(SchemaField field, Object externalVal) {
    CurrencyValue value = CurrencyValue.parse(externalVal.toString(), defaultCurrency);

    List<IndexableField> f = new ArrayList<>();
    SchemaField amountField = getAmountField(field);
    f.add(amountField.createField(String.valueOf(value.getAmount())));
    SchemaField currencyField = getCurrencyField(field);
    f.add(currencyField.createField(value.getCurrencyCode()));

    if (field.stored()) {
        String storedValue = externalVal.toString().trim();
        if (storedValue.indexOf(",") < 0) {
            storedValue += "," + defaultCurrency;
        }/*ww  w  . ja  v a  2 s .c om*/
        f.add(createField(field.getName(), storedValue, StoredField.TYPE));
    }

    return f;
}

From source file:org.elasticsearch.common.lucene.all.SimpleAllTests.java

License:Apache License

@Test
public void testSimpleAllNoBoost() throws Exception {
    Directory dir = new RAMDirectory();
    IndexWriter indexWriter = new IndexWriter(dir,
            new IndexWriterConfig(Lucene.VERSION, Lucene.STANDARD_ANALYZER));

    Document doc = new Document();
    doc.add(new Field("_id", "1", StoredField.TYPE));
    AllEntries allEntries = new AllEntries();
    allEntries.addText("field1", "something", 1.0f);
    allEntries.addText("field2", "else", 1.0f);
    allEntries.reset();/*from   ww w .ja  va 2s.co  m*/
    doc.add(new TextField("_all", AllTokenStream.allTokenStream("_all", allEntries, Lucene.STANDARD_ANALYZER)));

    indexWriter.addDocument(doc);

    doc = new Document();
    doc.add(new Field("_id", "2", StoredField.TYPE));
    allEntries = new AllEntries();
    allEntries.addText("field1", "else", 1.0f);
    allEntries.addText("field2", "something", 1.0f);
    allEntries.reset();
    doc.add(new TextField("_all", AllTokenStream.allTokenStream("_all", allEntries, Lucene.STANDARD_ANALYZER)));

    indexWriter.addDocument(doc);

    IndexReader reader = DirectoryReader.open(indexWriter, true);
    IndexSearcher searcher = new IndexSearcher(reader);

    Query query = new AllTermQuery(new Term("_all", "else"));
    TopDocs docs = searcher.search(query, 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
    assertExplanationScore(searcher, query, docs.scoreDocs[0]);
    assertThat(docs.scoreDocs[1].doc, equalTo(1));
    assertExplanationScore(searcher, query, docs.scoreDocs[1]);

    query = new AllTermQuery(new Term("_all", "something"));
    docs = searcher.search(query, 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
    assertExplanationScore(searcher, query, docs.scoreDocs[0]);
    assertThat(docs.scoreDocs[1].doc, equalTo(1));
    assertExplanationScore(searcher, query, docs.scoreDocs[1]);

    indexWriter.close();
}

From source file:org.elasticsearch.common.lucene.all.SimpleAllTests.java

License:Apache License

@Test
public void testSimpleAllWithBoost() throws Exception {
    Directory dir = new RAMDirectory();
    IndexWriter indexWriter = new IndexWriter(dir,
            new IndexWriterConfig(Lucene.VERSION, Lucene.STANDARD_ANALYZER));

    Document doc = new Document();
    doc.add(new Field("_id", "1", StoredField.TYPE));
    AllEntries allEntries = new AllEntries();
    allEntries.addText("field1", "something", 1.0f);
    allEntries.addText("field2", "else", 1.0f);
    allEntries.reset();/*from ww  w.  j a  v  a 2  s  .co  m*/
    doc.add(new TextField("_all", AllTokenStream.allTokenStream("_all", allEntries, Lucene.STANDARD_ANALYZER)));

    indexWriter.addDocument(doc);

    doc = new Document();
    doc.add(new Field("_id", "2", StoredField.TYPE));
    allEntries = new AllEntries();
    allEntries.addText("field1", "else", 2.0f);
    allEntries.addText("field2", "something", 1.0f);
    allEntries.reset();
    doc.add(new TextField("_all", AllTokenStream.allTokenStream("_all", allEntries, Lucene.STANDARD_ANALYZER)));

    indexWriter.addDocument(doc);

    IndexReader reader = DirectoryReader.open(indexWriter, true);
    IndexSearcher searcher = new IndexSearcher(reader);

    // this one is boosted. so the second doc is more relevant
    Query query = new AllTermQuery(new Term("_all", "else"));
    TopDocs docs = searcher.search(query, 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(1));
    assertExplanationScore(searcher, query, docs.scoreDocs[0]);
    assertThat(docs.scoreDocs[1].doc, equalTo(0));
    assertExplanationScore(searcher, query, docs.scoreDocs[1]);

    query = new AllTermQuery(new Term("_all", "something"));
    docs = searcher.search(query, 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
    assertExplanationScore(searcher, query, docs.scoreDocs[0]);
    assertThat(docs.scoreDocs[1].doc, equalTo(1));
    assertExplanationScore(searcher, query, docs.scoreDocs[1]);

    indexWriter.close();
}

From source file:org.elasticsearch.common.lucene.all.SimpleAllTests.java

License:Apache License

@Test
public void testMultipleTokensAllNoBoost() throws Exception {
    Directory dir = new RAMDirectory();
    IndexWriter indexWriter = new IndexWriter(dir,
            new IndexWriterConfig(Lucene.VERSION, Lucene.STANDARD_ANALYZER));

    Document doc = new Document();
    doc.add(new Field("_id", "1", StoredField.TYPE));
    AllEntries allEntries = new AllEntries();
    allEntries.addText("field1", "something moo", 1.0f);
    allEntries.addText("field2", "else koo", 1.0f);
    allEntries.reset();/*  w  w  w.  java2s.  c om*/
    doc.add(new TextField("_all", AllTokenStream.allTokenStream("_all", allEntries, Lucene.STANDARD_ANALYZER)));

    indexWriter.addDocument(doc);

    doc = new Document();
    doc.add(new Field("_id", "2", StoredField.TYPE));
    allEntries = new AllEntries();
    allEntries.addText("field1", "else koo", 1.0f);
    allEntries.addText("field2", "something moo", 1.0f);
    allEntries.reset();
    doc.add(new TextField("_all", AllTokenStream.allTokenStream("_all", allEntries, Lucene.STANDARD_ANALYZER)));

    indexWriter.addDocument(doc);

    IndexReader reader = DirectoryReader.open(indexWriter, true);
    IndexSearcher searcher = new IndexSearcher(reader);

    TopDocs docs = searcher.search(new AllTermQuery(new Term("_all", "else")), 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
    assertThat(docs.scoreDocs[1].doc, equalTo(1));

    docs = searcher.search(new AllTermQuery(new Term("_all", "koo")), 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
    assertThat(docs.scoreDocs[1].doc, equalTo(1));

    docs = searcher.search(new AllTermQuery(new Term("_all", "something")), 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
    assertThat(docs.scoreDocs[1].doc, equalTo(1));

    docs = searcher.search(new AllTermQuery(new Term("_all", "moo")), 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
    assertThat(docs.scoreDocs[1].doc, equalTo(1));

    indexWriter.close();
}

From source file:org.elasticsearch.common.lucene.all.SimpleAllTests.java

License:Apache License

@Test
public void testMultipleTokensAllWithBoost() throws Exception {
    Directory dir = new RAMDirectory();
    IndexWriter indexWriter = new IndexWriter(dir,
            new IndexWriterConfig(Lucene.VERSION, Lucene.STANDARD_ANALYZER));

    Document doc = new Document();
    doc.add(new Field("_id", "1", StoredField.TYPE));
    AllEntries allEntries = new AllEntries();
    allEntries.addText("field1", "something moo", 1.0f);
    allEntries.addText("field2", "else koo", 1.0f);
    allEntries.reset();//from ww w  . ja  va  2 s  .  c  o  m
    doc.add(new TextField("_all", AllTokenStream.allTokenStream("_all", allEntries, Lucene.STANDARD_ANALYZER)));

    indexWriter.addDocument(doc);

    doc = new Document();
    doc.add(new Field("_id", "2", StoredField.TYPE));
    allEntries = new AllEntries();
    allEntries.addText("field1", "else koo", 2.0f);
    allEntries.addText("field2", "something moo", 1.0f);
    allEntries.reset();
    doc.add(new TextField("_all", AllTokenStream.allTokenStream("_all", allEntries, Lucene.STANDARD_ANALYZER)));

    indexWriter.addDocument(doc);

    IndexReader reader = DirectoryReader.open(indexWriter, true);
    IndexSearcher searcher = new IndexSearcher(reader);

    TopDocs docs = searcher.search(new AllTermQuery(new Term("_all", "else")), 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(1));
    assertThat(docs.scoreDocs[1].doc, equalTo(0));

    docs = searcher.search(new AllTermQuery(new Term("_all", "koo")), 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(1));
    assertThat(docs.scoreDocs[1].doc, equalTo(0));

    docs = searcher.search(new AllTermQuery(new Term("_all", "something")), 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
    assertThat(docs.scoreDocs[1].doc, equalTo(1));

    docs = searcher.search(new AllTermQuery(new Term("_all", "moo")), 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
    assertThat(docs.scoreDocs[1].doc, equalTo(1));

    indexWriter.close();
}

From source file:org.elasticsearch.common.lucene.all.SimpleAllTests.java

License:Apache License

@Test
public void testNoTokensWithKeywordAnalyzer() throws Exception {
    Directory dir = new RAMDirectory();
    IndexWriter indexWriter = new IndexWriter(dir,
            new IndexWriterConfig(Lucene.VERSION, Lucene.KEYWORD_ANALYZER));

    Document doc = new Document();
    doc.add(new Field("_id", "1", StoredField.TYPE));
    AllEntries allEntries = new AllEntries();
    allEntries.reset();/*from w  w  w  .j a v a  2 s.co m*/
    doc.add(new TextField("_all", AllTokenStream.allTokenStream("_all", allEntries, Lucene.KEYWORD_ANALYZER)));

    indexWriter.addDocument(doc);

    IndexReader reader = DirectoryReader.open(indexWriter, true);
    IndexSearcher searcher = new IndexSearcher(reader);

    TopDocs docs = searcher.search(new MatchAllDocsQuery(), 10);
    assertThat(docs.totalHits, equalTo(1));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
}

From source file:org.elasticsearch.test.unit.common.lucene.all.SimpleAllTests.java

License:Apache License

@Test
public void testSimpleAllNoBoost() throws Exception {
    Directory dir = new RAMDirectory();
    IndexWriter indexWriter = new IndexWriter(dir,
            new IndexWriterConfig(Lucene.VERSION, Lucene.STANDARD_ANALYZER));

    Document doc = new Document();
    doc.add(new Field("_id", "1", StoredField.TYPE));
    AllEntries allEntries = new AllEntries();
    allEntries.addText("field1", "something", 1.0f);
    allEntries.addText("field2", "else", 1.0f);
    allEntries.reset();//from  w w w  .  j  a  v  a2 s  .com
    doc.add(new Field("_all", AllTokenStream.allTokenStream("_all", allEntries, Lucene.STANDARD_ANALYZER)));

    indexWriter.addDocument(doc);

    doc = new Document();
    doc.add(new Field("_id", "2", StoredField.TYPE));
    allEntries = new AllEntries();
    allEntries.addText("field1", "else", 1.0f);
    allEntries.addText("field2", "something", 1.0f);
    allEntries.reset();
    doc.add(new Field("_all", AllTokenStream.allTokenStream("_all", allEntries, Lucene.STANDARD_ANALYZER)));

    indexWriter.addDocument(doc);

    IndexReader reader = IndexReader.open(indexWriter, true);
    IndexSearcher searcher = new IndexSearcher(reader);

    TopDocs docs = searcher.search(new AllTermQuery(new Term("_all", "else")), 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
    assertThat(docs.scoreDocs[1].doc, equalTo(1));

    docs = searcher.search(new AllTermQuery(new Term("_all", "something")), 10);
    assertThat(docs.totalHits, equalTo(2));
    assertThat(docs.scoreDocs[0].doc, equalTo(0));
    assertThat(docs.scoreDocs[1].doc, equalTo(1));

    indexWriter.close();
}