Example usage for org.apache.lucene.document FieldType stored

List of usage examples for org.apache.lucene.document FieldType stored

Introduction

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

Prototype

boolean stored

To view the source code for org.apache.lucene.document FieldType stored.

Click Source Link

Usage

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

License:Apache License

protected CustomField(String name, FieldType type, Object value) {
    super(name, type);

    if (!type.stored() && type.indexOptions() == IndexOptions.NONE)
        throw new IllegalArgumentException(
                "it doesn't make sense to have a field that " + "is neither indexed nor stored");

    if (value == null)
        throw new IllegalArgumentException("value cannot be null");

    this.fieldsData = value;
}

From source file:lab_mri.CranIndexer.java

/**
 * doc_file index_dir/*  w  w  w  . j a v  a2s.co  m*/
 * 
 * 
 * @param args
 */
public static void main(String args[]) {
    File index_dir = new File("/home/luigi/NetBeansProjects/LAB_mri/inv_index");
    String doc_file = "/home/luigi/NetBeansProjects/LAB_mri/CRAN/cran.all.1400";
    try {
        SearchEngine se = new SearchEngine(index_dir);
        se.open();
        File inputFile = new File(doc_file);
        BufferedReader reader = new BufferedReader(new FileReader(inputFile));

        FieldType ft = new FieldType();
        ft.stored();
        ft.setIndexed(true); //done as default
        ft.setStoreTermVectors(true);
        ft.setStoreTermVectorPositions(true);
        ft.setStoreTermVectorOffsets(true);
        ft.setStoreTermVectorPayloads(true);

        String id = null;
        StringBuilder title = new StringBuilder();
        StringBuilder authors = new StringBuilder();
        StringBuilder affiliation = new StringBuilder();
        StringBuilder abst = new StringBuilder();
        char code = ' ';
        int c = 0;
        while (reader.ready()) {
            String line = reader.readLine();
            if (line.startsWith(".I")) {
                if (id != null) {
                    System.out.println(id + "\t" + abst);

                    Document doc = new Document();
                    doc.add(new StringField("id", id, Field.Store.YES));
                    doc.add(new TextField("title", title.toString(), Field.Store.NO));
                    doc.add(new TextField("authors", authors.toString(), Field.Store.NO));
                    doc.add(new TextField("affiliation", affiliation.toString(), Field.Store.NO));
                    doc.add(new Field("abst", abst.toString(), ft));
                    se.addDocument(doc);

                    c++;
                    title = new StringBuilder();
                    authors = new StringBuilder();
                    affiliation = new StringBuilder();
                    abst = new StringBuilder();
                }
                id = line.substring(2).trim();

            } else if (line.startsWith(".T")) {
                code = 'T';
            } else if (line.startsWith(".A")) {
                code = 'A';
            } else if (line.startsWith(".B")) {
                code = 'B';
            } else if (line.startsWith(".W")) {
                code = 'W';
            } else {
                switch (code) {
                case 'T':
                    title.append(line).append(" ");
                    break;
                case 'A':
                    authors.append(line).append(" ");
                    break;
                case 'B':
                    affiliation.append(line).append(" ");
                    break;
                case 'W':
                    abst.append(line).append(" ");
                    break;
                default:
                    break;
                }
            }
        }
        reader.close();
        //store last documents
        if (id != null) {
            System.out.println(id + "\t" + title);
            //store document
            //put index code here
            Document doc = new Document();
            doc.add(new StringField("id", id, Field.Store.YES));
            doc.add(new TextField("title", title.toString(), Field.Store.NO));
            doc.add(new TextField("authors", authors.toString(), Field.Store.NO));
            doc.add(new TextField("affiliation", affiliation.toString(), Field.Store.NO));
            doc.add(new TextField("abst", abst.toString(), Field.Store.NO));
            se.addDocument(doc);
            c++;
        }
        System.out.println("Total docs: " + c);

        se.close();
    } catch (IOException ioex) {
        Logger.getLogger(CranIndexer.class.getName()).log(Level.SEVERE, null, ioex);
    }

}

From source file:org.apache.solr.legacy.BBoxStrategy.java

License:Apache License

/**
 * Creates this strategy./* ww  w  .  j a  va 2 s  .c  o m*/
 * {@code fieldType} is used to customize the indexing options of the 4 number fields, and to a lesser degree the XDL
 * field too. Search requires pointValues (or legacy numerics), and relevancy requires docValues. If these features
 * aren't needed then disable them.
 */
public BBoxStrategy(SpatialContext ctx, String fieldNamePrefix, FieldType fieldType) {
    super(ctx, fieldNamePrefix);
    field_bbox = fieldNamePrefix;
    field_minX = fieldNamePrefix + SUFFIX_MINX;
    field_maxX = fieldNamePrefix + SUFFIX_MAXX;
    field_minY = fieldNamePrefix + SUFFIX_MINY;
    field_maxY = fieldNamePrefix + SUFFIX_MAXY;
    field_xdl = fieldNamePrefix + SUFFIX_XDL;

    fieldType.freeze();
    this.optionsFieldType = fieldType;

    int numQuads = 0;
    if ((this.hasStored = fieldType.stored())) {
        numQuads++;
    }
    if ((this.hasDocVals = fieldType.docValuesType() != DocValuesType.NONE)) {
        numQuads++;
    }
    if ((this.hasPointVals = fieldType.pointDimensionCount() > 0)) {
        numQuads++;
    }
    if (fieldType.indexOptions() != IndexOptions.NONE && fieldType instanceof LegacyFieldType
            && ((LegacyFieldType) fieldType).numericType() != null) {
        if (hasPointVals) {
            throw new IllegalArgumentException("pointValues and LegacyNumericType are mutually exclusive");
        }
        final LegacyFieldType legacyType = (LegacyFieldType) fieldType;
        if (legacyType.numericType() != LegacyNumericType.DOUBLE) {
            throw new IllegalArgumentException(getClass() + " does not support " + legacyType.numericType());
        }
        numQuads++;
        legacyNumericFieldType = new LegacyFieldType(LegacyDoubleField.TYPE_NOT_STORED);
        legacyNumericFieldType.setNumericPrecisionStep(legacyType.numericPrecisionStep());
        legacyNumericFieldType.freeze();
    } else {
        legacyNumericFieldType = null;
    }

    if (hasPointVals || legacyNumericFieldType != null) { // if we have an index...
        xdlFieldType = new FieldType(StringField.TYPE_NOT_STORED);
        xdlFieldType.setIndexOptions(IndexOptions.DOCS);
        xdlFieldType.freeze();
    } else {
        xdlFieldType = null;
    }

    this.fieldsLen = numQuads * 4 + (xdlFieldType != null ? 1 : 0);
}

From source file:org.apache.solr.legacy.PointVectorStrategy.java

License:Apache License

/**
 * Create a new instance configured with the provided FieldType options. See {@link #DEFAULT_FIELDTYPE}.
 * a field type is used to articulate the desired options (namely pointValues, docValues, stored).  Legacy numerics
 * is configurable this way too.//from w w  w.  j  a v a 2 s  .  co  m
 */
public PointVectorStrategy(SpatialContext ctx, String fieldNamePrefix, FieldType fieldType) {
    super(ctx, fieldNamePrefix);
    this.fieldNameX = fieldNamePrefix + SUFFIX_X;
    this.fieldNameY = fieldNamePrefix + SUFFIX_Y;

    int numPairs = 0;
    if ((this.hasStored = fieldType.stored())) {
        numPairs++;
    }
    if ((this.hasDocVals = fieldType.docValuesType() != DocValuesType.NONE)) {
        numPairs++;
    }
    if ((this.hasPointVals = fieldType.pointDimensionCount() > 0)) {
        numPairs++;
    }
    if (fieldType.indexOptions() != IndexOptions.NONE && fieldType instanceof LegacyFieldType
            && ((LegacyFieldType) fieldType).numericType() != null) {
        if (hasPointVals) {
            throw new IllegalArgumentException("pointValues and LegacyNumericType are mutually exclusive");
        }
        final LegacyFieldType legacyType = (LegacyFieldType) fieldType;
        if (legacyType.numericType() != LegacyNumericType.DOUBLE) {
            throw new IllegalArgumentException(getClass() + " does not support " + legacyType.numericType());
        }
        numPairs++;
        legacyNumericFieldType = new LegacyFieldType(LegacyDoubleField.TYPE_NOT_STORED);
        legacyNumericFieldType.setNumericPrecisionStep(legacyType.numericPrecisionStep());
        legacyNumericFieldType.freeze();
    } else {
        legacyNumericFieldType = null;
    }
    this.fieldsLen = numPairs * 2;
}

From source file:org.elasticsearch.index.mapper.core.AbstractFieldMapper.java

License:Apache License

protected void doXContentBody(XContentBuilder builder, boolean includeDefaults, Params params)
        throws IOException {

    builder.field("type", contentType());
    if (includeDefaults || !names.name().equals(names.indexNameClean())) {
        builder.field("index_name", names.indexNameClean());
    }/*from   w w  w  .  jav  a  2  s.  c  o m*/

    if (includeDefaults || boost != 1.0f) {
        builder.field("boost", boost);
    }

    FieldType defaultFieldType = defaultFieldType();
    if (includeDefaults || fieldType.indexed() != defaultFieldType.indexed()
            || fieldType.tokenized() != defaultFieldType.tokenized()) {
        builder.field("index", indexTokenizeOptionToString(fieldType.indexed(), fieldType.tokenized()));
    }
    if (includeDefaults || fieldType.stored() != defaultFieldType.stored()) {
        builder.field("store", fieldType.stored());
    }
    if (includeDefaults || hasDocValues() != Defaults.DOC_VALUES) {
        builder.field(TypeParsers.DOC_VALUES, docValues);
    }
    if (includeDefaults || fieldType.storeTermVectors() != defaultFieldType.storeTermVectors()) {
        builder.field("term_vector", termVectorOptionsToString(fieldType));
    }
    if (includeDefaults || fieldType.omitNorms() != defaultFieldType.omitNorms() || normsLoading != null) {
        builder.startObject("norms");
        if (includeDefaults || fieldType.omitNorms() != defaultFieldType.omitNorms()) {
            builder.field("enabled", !fieldType.omitNorms());
        }
        if (normsLoading != null) {
            builder.field(Loading.KEY, normsLoading);
        }
        builder.endObject();
    }
    if (includeDefaults || fieldType.indexOptions() != defaultFieldType.indexOptions()) {
        builder.field("index_options", indexOptionToString(fieldType.indexOptions()));
    }

    if (indexAnalyzer == null && searchAnalyzer == null) {
        if (includeDefaults) {
            builder.field("analyzer", "default");
        }
    } else if (indexAnalyzer == null) {
        // searchAnalyzer != null
        if (includeDefaults
                || (!searchAnalyzer.name().startsWith("_") && !searchAnalyzer.name().equals("default"))) {
            builder.field("search_analyzer", searchAnalyzer.name());
        }
    } else if (searchAnalyzer == null) {
        // indexAnalyzer != null
        if (includeDefaults
                || (!indexAnalyzer.name().startsWith("_") && !indexAnalyzer.name().equals("default"))) {
            builder.field("index_analyzer", indexAnalyzer.name());
        }
    } else if (indexAnalyzer.name().equals(searchAnalyzer.name())) {
        // indexAnalyzer == searchAnalyzer
        if (includeDefaults
                || (!indexAnalyzer.name().startsWith("_") && !indexAnalyzer.name().equals("default"))) {
            builder.field("analyzer", indexAnalyzer.name());
        }
    } else {
        // both are there but different
        if (includeDefaults
                || (!indexAnalyzer.name().startsWith("_") && !indexAnalyzer.name().equals("default"))) {
            builder.field("index_analyzer", indexAnalyzer.name());
        }
        if (includeDefaults
                || (!searchAnalyzer.name().startsWith("_") && !searchAnalyzer.name().equals("default"))) {
            builder.field("search_analyzer", searchAnalyzer.name());
        }
    }

    if (postingsFormat != null) {
        if (includeDefaults || !postingsFormat.name().equals(defaultPostingFormat())) {
            builder.field("postings_format", postingsFormat.name());
        }
    } else if (includeDefaults) {
        String format = defaultPostingFormat();
        if (format == null) {
            format = PostingsFormatService.DEFAULT_FORMAT;
        }
        builder.field("postings_format", format);
    }

    if (docValuesFormat != null) {
        if (includeDefaults || !docValuesFormat.name().equals(defaultDocValuesFormat())) {
            builder.field(DOC_VALUES_FORMAT, docValuesFormat.name());
        }
    } else if (includeDefaults) {
        String format = defaultDocValuesFormat();
        if (format == null) {
            format = DocValuesFormatService.DEFAULT_FORMAT;
        }
        builder.field(DOC_VALUES_FORMAT, format);
    }

    if (similarity() != null) {
        builder.field("similarity", similarity().name());
    } else if (includeDefaults) {
        builder.field("similariry", SimilarityLookupService.DEFAULT_SIMILARITY);
    }

    if (customFieldDataSettings != null) {
        builder.field("fielddata", (Map) customFieldDataSettings.getAsMap());
    } else if (includeDefaults) {
        builder.field("fielddata", (Map) fieldDataType.getSettings().getAsMap());
    }
    multiFields.toXContent(builder, params);

    if (copyTo != null) {
        copyTo.toXContent(builder, params);
    }
}

From source file:org.eu.bitzone.Leia.java

License:Apache License

public boolean actionEditAdd(final Object editdoc) {
    final Document doc = new Document();
    final Object cbAnalyzers = find(editdoc, "cbAnalyzers");
    // reuse the logic in createAnalyzer - needs a prepared srchOptTabs
    final Object srchTabs = find("srchOptTabs");
    final Object cbType = find(srchTabs, "cbType");
    final String clazz = getString(cbAnalyzers, "text");
    setString(cbType, "text", clazz);
    final Analyzer a = createAnalyzer(srchTabs);
    if (a == null) {
        return false;
    }//from   w  w w  .j a  va 2  s.co  m
    final Object editTabs = find(editdoc, "editTabs");
    final Object[] tabs = getItems(editTabs);
    for (int i = 0; i < tabs.length; i++) {
        final String name = getString(tabs[i], "text");
        if (name.trim().equals("")) {
            continue;
        }
        final Object fBoost = find(tabs[i], "fBoost");
        Object fText = find(tabs[i], "sText");
        if (fText == null) {
            fText = find(tabs[i], "rText");
        }
        final Object cbStored = find(tabs[i], "cbStored");
        final Object cbIndexed = find(tabs[i], "cbIndexed");
        final Object cbTokenized = find(tabs[i], "cbTokenized");
        final Object cbTVF = find(tabs[i], "cbTVF");
        final Object cbTVFo = find(tabs[i], "cbTVFo");
        final Object cbTVFp = find(tabs[i], "cbTVFp");
        final Object cbCmp = find(tabs[i], "cbCmp");
        final Object cbBin = find(tabs[i], "cbBin");
        final Object cbONorms = find(tabs[i], "cbONorms");
        final Object cbOTF = find(tabs[i], "cbOTF");
        final String text = getString(fText, "text");
        byte[] binValue;
        final boolean binary = getBoolean(cbBin, "selected");
        final FieldType ft = new FieldType();
        if (getBoolean(cbTVF, "selected")) {
            ft.setStoreTermVectors(true);
            if (getBoolean(cbTVFo, "selected")) {
                ft.setStoreTermVectorOffsets(true);
            }
            if (getBoolean(cbTVFp, "selected")) {
                ft.setStoreTermVectorPositions(true);
            }
        } else {
            ft.setStoreTermVectors(false);
        }
        // XXX omitTF needs fixing
        // f.setOmitTermFreqAndPositions(getBoolean(cbOTF, "selected"));
        if (getBoolean(cbOTF, "selected")) {
            ft.setIndexOptions(IndexOptions.DOCS_ONLY);
        } else {
            ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS);
        }
        ft.setStored(getBoolean(cbStored, "selected"));
        ft.setIndexed(getBoolean(cbIndexed, "selected"));
        ft.setTokenized(getBoolean(cbTokenized, "selected"));
        if (ft.stored() == false && ft.indexed() == false) {
            errorMsg("Field '" + name + "' is neither stored nor indexed.");
            return false;
        }
        ft.setOmitNorms(getBoolean(cbONorms, "selected"));
        Field f;
        if (binary) {
            try {
                binValue = Util.hexToBytes(text);
            } catch (final Throwable e) {
                errorMsg("Field '" + name + "': " + e.getMessage());
                return false;
            }
            f = new Field(name, binValue, 0, binValue.length, ft);
        } else {
            f = new Field(name, text, ft);
        }
        final String boostS = getString(fBoost, "text").trim();
        if (!boostS.equals("") && !boostS.equals("1.0")) {
            float boost = 1.0f;
            try {
                boost = Float.parseFloat(boostS);
            } catch (final Exception e) {
                e.printStackTrace();
            }
            f.setBoost(boost);
        }
        doc.add(f);
    }
    IndexWriter writer = null;
    boolean res = false;
    String msg = null;
    try {
        ir.close();
        if (ar != null) {
            ar.close();
        }
        writer = createIndexWriter();
        writer.addDocument(doc);
        res = true;
    } catch (final Exception e) {
        e.printStackTrace();
        msg = "FAILED: " + e.getMessage();
        res = false;
    } finally {
        try {
            if (writer != null) {
                writer.close();
            }
        } catch (final Exception e) {
            e.printStackTrace();
            res = false;
            msg = "FAILED: " + e.getMessage();
        }
        remove(editdoc);
        try {
            actionReopen();
            // show Documents tab
            final Object tabpane = find("maintpane");
            setInteger(tabpane, "selected", 1);
        } catch (final Exception e) {
            e.printStackTrace();
            res = false;
            msg = "FAILED: " + e.getMessage();
        }
    }
    if (!res) {
        errorMsg(msg);
    }
    return res;
}

From source file:org.getopt.luke.Luke.java

License:Apache License

public boolean actionEditAdd(Object editdoc) {
    Document doc = new Document();
    Object cbAnalyzers = find(editdoc, "cbAnalyzers");
    // reuse the logic in createAnalyzer - needs a prepared srchOptTabs
    Object srchTabs = find("srchOptTabs");
    Object cbType = find(srchTabs, "cbType");
    String clazz = getString(cbAnalyzers, "text");
    setString(cbType, "text", clazz);
    Analyzer a = createAnalyzer(srchTabs);
    if (a == null) {
        return false;
    }//  w w w.  j av  a  2  s. c o  m
    Object editTabs = find(editdoc, "editTabs");
    Object[] tabs = getItems(editTabs);
    for (int i = 0; i < tabs.length; i++) {
        String name = getString(tabs[i], "text");
        if (name.trim().equals(""))
            continue;
        Object fBoost = find(tabs[i], "fBoost");
        Object fText = find(tabs[i], "sText");
        if (fText == null)
            fText = find(tabs[i], "rText");
        Object cbStored = find(tabs[i], "cbStored");
        Object cbIndexed = find(tabs[i], "cbIndexed");
        Object cbTokenized = find(tabs[i], "cbTokenized");
        Object cbTVF = find(tabs[i], "cbTVF");
        Object cbTVFo = find(tabs[i], "cbTVFo");
        Object cbTVFp = find(tabs[i], "cbTVFp");
        Object cbCmp = find(tabs[i], "cbCmp");
        Object cbBin = find(tabs[i], "cbBin");
        Object cbONorms = find(tabs[i], "cbONorms");
        Object cbOTF = find(tabs[i], "cbOTF");
        String text = getString(fText, "text");
        byte[] binValue;
        boolean binary = getBoolean(cbBin, "selected");
        FieldType ft = new FieldType();
        if (getBoolean(cbTVF, "selected")) {
            ft.setStoreTermVectors(true);
            if (getBoolean(cbTVFo, "selected")) {
                ft.setStoreTermVectorOffsets(true);
            }
            if (getBoolean(cbTVFp, "selected")) {
                ft.setStoreTermVectorPositions(true);
            }
        } else {
            ft.setStoreTermVectors(false);
        }
        // XXX omitTF needs fixing
        // f.setOmitTermFreqAndPositions(getBoolean(cbOTF, "selected"));
        if (getBoolean(cbOTF, "selected")) {
            ft.setIndexOptions(IndexOptions.DOCS_ONLY);
        } else {
            ft.setIndexOptions(IndexOptions.DOCS_AND_FREQS_AND_POSITIONS);
        }
        ft.setStored(getBoolean(cbStored, "selected"));
        ft.setIndexed(getBoolean(cbIndexed, "selected"));
        ft.setTokenized(getBoolean(cbTokenized, "selected"));
        if (ft.stored() == false && ft.indexed() == false) {
            errorMsg("Field '" + name + "' is neither stored nor indexed.");
            return false;
        }
        ft.setOmitNorms(getBoolean(cbONorms, "selected"));
        Field f;
        if (binary) {
            try {
                binValue = Util.hexToBytes(text);
            } catch (Throwable e) {
                errorMsg("Field '" + name + "': " + e.getMessage());
                return false;
            }
            f = new Field(name, binValue, 0, binValue.length, ft);
        } else {
            f = new Field(name, text, ft);
        }
        String boostS = getString(fBoost, "text").trim();
        if (!boostS.equals("") && !boostS.equals("1.0")) {
            float boost = 1.0f;
            try {
                boost = Float.parseFloat(boostS);
            } catch (Exception e) {
                e.printStackTrace();
            }
            f.setBoost(boost);
        }
        doc.add(f);
    }
    IndexWriter writer = null;
    boolean res = false;
    String msg = null;
    try {
        ir.close();
        if (ar != null) {
            ar.close();
        }
        writer = createIndexWriter();
        writer.addDocument(doc);
        res = true;
    } catch (Exception e) {
        e.printStackTrace();
        msg = "FAILED: " + e.getMessage();
        res = false;
    } finally {
        try {
            if (writer != null)
                writer.close();
        } catch (Exception e) {
            e.printStackTrace();
            res = false;
            msg = "FAILED: " + e.getMessage();
        }
        remove(editdoc);
        try {
            actionReopen();
            // show Documents tab
            Object tabpane = find("maintpane");
            setInteger(tabpane, "selected", 1);
        } catch (Exception e) {
            e.printStackTrace();
            res = false;
            msg = "FAILED: " + e.getMessage();
        }
    }
    if (!res) {
        errorMsg(msg);
    }
    return res;
}

From source file:org.hibernate.search.test.util.SerializationTestHelper.java

License:LGPL

private static void assertFieldType(FieldType copy, FieldType original) {
    assertThat(copy.omitNorms()).isEqualTo(original.omitNorms());
    assertThat(copy.storeTermVectorOffsets()).isEqualTo(original.storeTermVectorOffsets());
    assertThat(copy.storeTermVectorPayloads()).isEqualTo(original.storeTermVectorPayloads());
    assertThat(copy.storeTermVectorOffsets()).isEqualTo(original.storeTermVectorOffsets());
    assertThat(copy.docValuesType()).isEqualTo(original.docValuesType());
    assertThat(copy.indexOptions()).isEqualTo(original.indexOptions());
    assertThat(copy.numericPrecisionStep()).isEqualTo(original.numericPrecisionStep());
    assertThat(copy.numericType()).isEqualTo(original.numericType());
    assertThat(copy.stored()).isEqualTo(original.stored());
    assertThat(copy.storeTermVectors()).isEqualTo(original.storeTermVectors());
    assertThat(copy.tokenized()).isEqualTo(original.tokenized());
    assertThat(copy.toString()).isEqualTo(original.toString());
}