Example usage for org.apache.lucene.codecs Codec segmentInfoFormat

List of usage examples for org.apache.lucene.codecs Codec segmentInfoFormat

Introduction

In this page you can find the example usage for org.apache.lucene.codecs Codec segmentInfoFormat.

Prototype

public abstract SegmentInfoFormat segmentInfoFormat();

Source Link

Document

Encodes/decodes segment info file

Usage

From source file:org.apache.blur.mapreduce.lib.GenericRecordReader.java

License:Apache License

private SegmentInfoPerCommit segmentInfosRead(Directory directory, String segmentFileName,
        String segmentInfoName) throws IOException {
    boolean success = false;

    ChecksumIndexInput input = new ChecksumIndexInput(directory.openInput(segmentFileName, IOContext.READ));
    try {/* w  w  w . j  a  v  a2s  .  com*/
        final int format = input.readInt();
        if (format == CodecUtil.CODEC_MAGIC) {
            // 4.0+
            CodecUtil.checkHeaderNoMagic(input, "segments", SegmentInfos.VERSION_40, SegmentInfos.VERSION_40);
            input.readLong();// read version
            input.readInt(); // read counter
            int numSegments = input.readInt();
            if (numSegments < 0) {
                throw new CorruptIndexException(
                        "invalid segment count: " + numSegments + " (resource: " + input + ")");
            }
            for (int seg = 0; seg < numSegments; seg++) {
                String segName = input.readString();
                Codec codec = Codec.forName(input.readString());
                SegmentInfo info = codec.segmentInfoFormat().getSegmentInfoReader().read(directory, segName,
                        IOContext.READ);
                info.setCodec(codec);
                long delGen = input.readLong();
                int delCount = input.readInt();
                if (delCount < 0 || delCount > info.getDocCount()) {
                    throw new CorruptIndexException(
                            "invalid deletion count: " + delCount + " (resource: " + input + ")");
                }
                if (segName.equals(segmentInfoName)) {
                    success = true;
                    return new SegmentInfoPerCommit(info, delCount, delGen);
                }
            }
        } else {
            throw new IOException("Legacy Infos not supported for dir [" + directory + "].");
        }
        throw new IOException("Segment [" + segmentInfoName + "] nout found in dir [" + directory + "]");
    } finally {
        if (!success) {
            IOUtils.closeWhileHandlingException(input);
        } else {
            input.close();
        }
    }
}

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

License:Apache License

public void showDiagnostics(final Object segmentsTable) {
    final Object diagsTable = find("diagsTable");
    removeAll(diagsTable);// w ww  .  j  a  va 2s.  c  o m
    final Object row = getSelectedItem(segmentsTable);
    if (row == null) {
        return;
    }
    final SegmentCommitInfo si = (SegmentCommitInfo) getProperty(row, "si");
    if (si == null) {
        showStatus("Missing SegmentInfoPerCommit???");
        return;
    }
    Map<String, String> map = si.info.attributes();
    if (map != null) {
        for (final Entry<String, String> e : map.entrySet()) {
            final Object r = create("row");
            add(diagsTable, r);
            Object cell = create("cell");
            setString(cell, "text", "A");
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getKey());
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getValue());
            add(r, cell);
        }
    }
    // separator
    // Object r1 = create("row");
    // add(diagsTable, r1);
    // Object c1 = create("cell");
    // setBoolean(c1, "enabled", false);
    // add(r1, c1);
    map = si.info.getDiagnostics();
    if (map != null) {
        for (final Entry<String, String> e : map.entrySet()) {
            final Object r = create("row");
            add(diagsTable, r);
            Object cell = create("cell");
            setString(cell, "text", "D");
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getKey());
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getValue());
            add(r, cell);
        }
    }
    // separator
    Object r1 = create("row");
    add(diagsTable, r1);
    Object c1 = create("cell");
    setBoolean(c1, "enabled", false);
    add(r1, c1);
    // codec info
    final Codec codec = si.info.getCodec();
    map = new LinkedHashMap<String, String>();
    map.put("codecName", codec.getName());
    map.put("codecClassName", codec.getClass().getName());
    map.put("docValuesFormat", codec.docValuesFormat().getClass().getName());
    map.put("fieldInfosFormat", codec.fieldInfosFormat().getClass().getName());
    map.put("liveDocsFormat", codec.liveDocsFormat().getClass().getName());
    map.put("normsFormat", codec.normsFormat().getClass().getName());
    map.put("postingsFormat",
            codec.postingsFormat().toString() + " " + codec.postingsFormat().getClass().getName());
    map.put("segmentInfoFormat", codec.segmentInfoFormat().getClass().getName());
    map.put("storedFieldsFormat", codec.storedFieldsFormat().getClass().getName());
    map.put("termVectorsFormat", codec.termVectorsFormat().getClass().getName());
    try {
        final List<String> files = new ArrayList<String>(si.files());
        Collections.sort(files);
        map.put("---files---", files.toString());
        if (si.info.getUseCompoundFile()) {
            final Directory d = new CompoundFileDirectory(dir,
                    IndexFileNames.segmentFileName(si.info.name, "", IndexFileNames.COMPOUND_FILE_EXTENSION),
                    IOContext.READ, false);
            files.clear();
            files.addAll(Arrays.asList(d.listAll()));
            d.close();
            Collections.sort(files);
            map.put("-CFS-files-", files.toString());
        }
    } catch (final Exception e) {
        e.printStackTrace();
        map.put("---files---", "Exception: " + e.toString());
    }
    for (final Entry<String, String> e : map.entrySet()) {
        final Object r = create("row");
        add(diagsTable, r);
        Object cell = create("cell");
        setString(cell, "text", "C");
        add(r, cell);
        cell = create("cell");
        setString(cell, "text", e.getKey());
        add(r, cell);
        cell = create("cell");
        setString(cell, "text", e.getValue());
        add(r, cell);
    }
    // fieldInfos
    try {
        final SegmentReader sr = new SegmentReader(si, 1, IOContext.READ);
        final FieldInfos fis = sr.getFieldInfos();
        map = new LinkedHashMap<String, String>();
        final List<String> flds = new ArrayList<String>(fis.size());
        for (final FieldInfo fi : fis) {
            flds.add(fi.name);
        }
        Collections.sort(flds);
        map.put("L---fields---", flds.toString());
        for (final String fn : flds) {
            final FieldInfo fi = fis.fieldInfo(fn);
            map.put("A" + fi.name, fi.attributes().toString());
        }
        map.put("F---flags----", "IdfpoPVNtxxDtxx");
        for (final String fn : flds) {
            final FieldInfo fi = fis.fieldInfo(fn);
            map.put("F" + fi.name, Util.fieldFlags(null, fi));
        }
        sr.close();
        // separator
        r1 = create("row");
        add(diagsTable, r1);
        c1 = create("cell");
        setBoolean(c1, "enabled", false);
        add(r1, c1);
        for (final Entry<String, String> e : map.entrySet()) {
            final Object r = create("row");
            add(diagsTable, r);
            Object cell = create("cell");
            setString(cell, "text", "F" + e.getKey().charAt(0));
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getKey().substring(1));
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getValue());
            if (e.getKey().startsWith("F")) {
                setFont(cell, courier);
            }
            add(r, cell);
        }
    } catch (final IOException e1) {
        e1.printStackTrace();
    }
}

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

License:Apache License

public void showDiagnostics(Object segmentsTable) {
    Object diagsTable = find("diagsTable");
    removeAll(diagsTable);//from  w  w w.jav a  2s.c  om
    Object row = getSelectedItem(segmentsTable);
    if (row == null) {
        return;
    }
    SegmentCommitInfo si = (SegmentCommitInfo) getProperty(row, "si");
    if (si == null) {
        showStatus("Missing SegmentInfoPerCommit???");
        return;
    }
    Map<String, String> map = si.info.attributes();
    if (map != null) {
        for (Entry<String, String> e : map.entrySet()) {
            Object r = create("row");
            add(diagsTable, r);
            Object cell = create("cell");
            setString(cell, "text", "A");
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getKey());
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getValue());
            add(r, cell);
        }
    }
    // separator
    //    Object r1 = create("row");
    //    add(diagsTable, r1);
    //    Object c1 = create("cell");
    //    setBoolean(c1, "enabled", false);
    //    add(r1, c1);
    map = si.info.getDiagnostics();
    if (map != null) {
        for (Entry<String, String> e : map.entrySet()) {
            Object r = create("row");
            add(diagsTable, r);
            Object cell = create("cell");
            setString(cell, "text", "D");
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getKey());
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getValue());
            add(r, cell);
        }
    }
    // separator
    Object r1 = create("row");
    add(diagsTable, r1);
    Object c1 = create("cell");
    setBoolean(c1, "enabled", false);
    add(r1, c1);
    // codec info
    Codec codec = si.info.getCodec();
    map = new LinkedHashMap<String, String>();
    map.put("codecName", codec.getName());
    map.put("codecClassName", codec.getClass().getName());
    map.put("docValuesFormat", codec.docValuesFormat().getClass().getName());
    map.put("fieldInfosFormat", codec.fieldInfosFormat().getClass().getName());
    map.put("liveDocsFormat", codec.liveDocsFormat().getClass().getName());
    map.put("normsFormat", codec.normsFormat().getClass().getName());
    map.put("postingsFormat",
            codec.postingsFormat().toString() + " " + codec.postingsFormat().getClass().getName());
    map.put("segmentInfoFormat", codec.segmentInfoFormat().getClass().getName());
    map.put("storedFieldsFormat", codec.storedFieldsFormat().getClass().getName());
    map.put("termVectorsFormat", codec.termVectorsFormat().getClass().getName());
    try {
        List<String> files = new ArrayList<String>(si.files());
        Collections.sort(files);
        map.put("---files---", files.toString());
        if (si.info.getUseCompoundFile()) {
            Directory d = new CompoundFileDirectory(dir,
                    IndexFileNames.segmentFileName(si.info.name, "", IndexFileNames.COMPOUND_FILE_EXTENSION),
                    IOContext.READ, false);
            files.clear();
            files.addAll(Arrays.asList(d.listAll()));
            d.close();
            Collections.sort(files);
            map.put("-CFS-files-", files.toString());
        }
    } catch (Exception e) {
        e.printStackTrace();
        map.put("---files---", "Exception: " + e.toString());
    }
    for (Entry<String, String> e : map.entrySet()) {
        Object r = create("row");
        add(diagsTable, r);
        Object cell = create("cell");
        setString(cell, "text", "C");
        add(r, cell);
        cell = create("cell");
        setString(cell, "text", e.getKey());
        add(r, cell);
        cell = create("cell");
        setString(cell, "text", e.getValue());
        add(r, cell);
    }
    // fieldInfos
    try {
        SegmentReader sr = new SegmentReader(si, 1, IOContext.READ);
        FieldInfos fis = sr.getFieldInfos();
        map = new LinkedHashMap<String, String>();
        List<String> flds = new ArrayList<String>(fis.size());
        for (FieldInfo fi : fis) {
            flds.add(fi.name);
        }
        Collections.sort(flds);
        map.put("L---fields---", flds.toString());
        for (String fn : flds) {
            FieldInfo fi = fis.fieldInfo(fn);
            map.put("A" + fi.name, fi.attributes().toString());
        }
        map.put("F---flags----", "IdfpoPVNtxxDtxx");
        for (String fn : flds) {
            FieldInfo fi = fis.fieldInfo(fn);
            map.put("F" + fi.name, Util.fieldFlags(null, fi));
        }
        sr.close();
        // separator
        r1 = create("row");
        add(diagsTable, r1);
        c1 = create("cell");
        setBoolean(c1, "enabled", false);
        add(r1, c1);
        for (Entry<String, String> e : map.entrySet()) {
            Object r = create("row");
            add(diagsTable, r);
            Object cell = create("cell");
            setString(cell, "text", "F" + e.getKey().charAt(0));
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getKey().substring(1));
            add(r, cell);
            cell = create("cell");
            setString(cell, "text", e.getValue());
            if (e.getKey().startsWith("F")) {
                setFont(cell, courier);
            }
            add(r, cell);
        }
    } catch (IOException e1) {
        e1.printStackTrace();
    }
}