List of usage examples for org.apache.lucene.index SegmentCommitInfo files
public Collection<String> files() throws IOException
From source file:org.apache.sling.oakui.OakUIWebConsole.java
License:Apache License
private void analyseIndex(@Nonnull HttpServletRequest request, @Nonnull HttpServletResponse response, @Nonnull String index) throws JSONException, IOException { // load the commit info and get all the files. // Need a directory implementation that works off the location, OakDirectory isn't exported, so will have to re-create. NodeStore ns = getNodeStore();//w ww. j a v a 2 s . c om NodeState oakIndex = ns.getRoot().getChildNode("oak:index"); NodeStoreDirectory nsDirectory = new NodeStoreDirectory(oakIndex, index); JSONObject out = new JSONObject(); int sequence = 0; for (String file : getSegments(nsDirectory.listAll())) { if (file.startsWith("segments")) { JSONObject segmentDetail = new JSONObject(); //FSDirectory fsDirectory = new SimpleFSDirectory(new File("/Users/ieb/Adobe/CQ/6.2/crx-quickstart/repository/index/lucene-1476792800724/data")); SegmentInfos segmentCommitInfos = new SegmentInfos(); try { if ("segments.gen".equals(file)) { // segments.gen is actually a pre v3 segments file, to get the current commit open without specifying the segments file. segmentCommitInfos.read(nsDirectory); } else { segmentCommitInfos.read(nsDirectory, file); } Iterator<SegmentCommitInfo> sci = segmentCommitInfos.iterator(); JSONArray commits = new JSONArray(); while (sci.hasNext()) { SegmentCommitInfo sc = sci.next(); JSONObject commitInfo = new JSONObject(); JSONArray files = new JSONArray(); for (String f : sc.files()) { files.put(f); } commitInfo.put("files", files); commitInfo.put("delcount", sc.getDelCount()); commitInfo.put("delgen", sc.getDelGen()); commitInfo.put("hasDeletions", sc.hasDeletions()); commitInfo.put("hasFieldUpdates", sc.hasFieldUpdates()); commitInfo.put("sizeInBytes", sc.sizeInBytes()); commitInfo.put("fieldInfosGen", sc.getFieldInfosGen()); commitInfo.put("nextDelGen", sc.getNextDelGen()); commitInfo.put("version", sc.info.getVersion()); commitInfo.put("diagnostics", sc.info.getDiagnostics()); commitInfo.put("doccount", sc.info.getDocCount()); commitInfo.put("name", sc.info.name); commitInfo.put("useCompoundFile", sc.info.getUseCompoundFile()); commits.put(commitInfo); } segmentDetail.put("commits", commits); segmentDetail.put("segment_sequence", sequence); segmentDetail.put("segment_name", file); } catch (CorruptIndexException e) { LOGGER.info(e.getMessage(), e); segmentDetail.put("corruption", e.getMessage()); } out.put(file, segmentDetail); sequence++; } } response.setContentType("application/json; charset=utf-8"); response.getWriter().println(out.toString(4)); }
From source file:org.codelibs.elasticsearch.common.lucene.Lucene.java
License:Apache License
/** * Returns an iterable that allows to iterate over all files in this segments info */// ww w .j a v a 2 s. c om public static Iterable<String> files(SegmentInfos infos) throws IOException { final List<Collection<String>> list = new ArrayList<>(); list.add(Collections.singleton(infos.getSegmentsFileName())); for (SegmentCommitInfo info : infos) { list.add(info.files()); } return Iterables.flatten(list); }
From source file:org.eu.bitzone.Leia.java
License:Apache License
public void showDiagnostics(final Object segmentsTable) { final Object diagsTable = find("diagsTable"); removeAll(diagsTable);/* www .j av a 2 s .com*/ 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 .j a v a2 s . com*/ 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(); } }