List of usage examples for org.apache.lucene.store RAMDirectory RAMDirectory
public RAMDirectory()
From source file:net.sf.lucis.core.impl.RAMStore.java
License:Apache License
public RAMStore() { this.directory = new RAMDirectory(); this.checkpoint = null; }
From source file:net.sf.lucis.core.impl.RecreateTest.java
License:Apache License
@Test public void ram() throws Exception { doTest(new RAMDirectory()); }
From source file:net.sf.okapi.lib.tmdb.h2.IndexAccess.java
License:Open Source License
public IndexAccess(Repository store) { try {//ww w . j a v a 2 s . c o m this.store = store; Directory idxDir = null; // Get the location from the repository instance String dir = store.getDirectory(); inMemory = (dir == null); if (inMemory) { idxDir = new RAMDirectory(); } else { // Create the directory if needed File file = new File(dir); if (!file.exists()) { file.mkdirs(); } idxDir = FSDirectory.open(file); } writer = new Writer(idxDir, false); seeker = new Seeker(writer.getIndexWriter()); } catch (IOException e) { throw new RuntimeException("Error creating the index access object:\n" + e.getMessage(), e); } }
From source file:net.sf.okapi.lib.tmdb.lucene.SeekerTest.java
License:Open Source License
@Before public void setUp() throws IOException { DIR = new RAMDirectory(); writer = new Writer(DIR, true); seeker = new Seeker(writer.getIndexWriter()); }
From source file:net.sf.okapi.lib.tmdb.lucene.WriterTest.java
License:Open Source License
@Before public void init() throws IOException { dir = new RAMDirectory(); tmWriter = new Writer(dir, true); writer = tmWriter.getIndexWriter();/*from w w w .j a v a 2 s . c o m*/ }
From source file:net.skyatlas.icd.dao.daoImpl.AnsjAnalysisTest.java
@Test public void indexTest() throws CorruptIndexException, LockObtainFailedException, IOException { HashSet<String> hs = new HashSet<String>(); // BufferedReader reader2 = IOUtil.getReader(ResourceBundle.getBundle("library").getString("stopLibrary"), "UTF-8"); // String word = null; // while ((word = reader2.readLine()) != null) { // hs.add(word); // }/* www .j a v a 2 s . c o m*/ Analyzer analyzer = new AnsjAnalysis(hs, false); Directory directory = null; IndexWriter iwriter = null; // BufferedReader reader = IOUtil.getReader("/Users/ansj/Desktop/??/indextest.txt", "UTF-8"); // String temp = null; // StringBuilder sb = new StringBuilder(); // while ((temp = reader.readLine()) != null) { // sb.append(temp); // sb.append("\n"); // } // reader.close(); String text = "???????????? ??? ????????"; IndexWriterConfig ic = new IndexWriterConfig(Version.LUCENE_32, analyzer); // directory = new RAMDirectory(); iwriter = new IndexWriter(directory, ic); // BufferedReader reader = // IOUtil.getReader("/Users/ansj/Documents//?//1998?_.txt", // "GBK"); // String temp = null; // while ((temp = reader.readLine()) != null) { // addContent(iwriter, temp); // } addContent(iwriter, text); addContent(iwriter, text); addContent(iwriter, text); addContent(iwriter, text); iwriter.commit(); iwriter.close(); System.out.println(""); // search(analyzer, directory, ""); }
From source file:net.skyatlas.icd.test.AnsegTest.java
static public void main(String[] args) throws IOException, CorruptIndexException, ParseException, InvalidTokenOffsetsException { AnsegTest inst = new AnsegTest(); Token nt = new Token(); Analyzer ca = new AnsjAnalysis(); Reader sentence = new StringReader( "\n\n\n\n\n\n\n????, ????????????????????????????" + "???????????????????" + "??????????? ??????????????2????" + "" + "? ????????????? ??? ????????"); TokenStream ts = ca.tokenStream("sentence", sentence); System.out.println("start: " + (new Date())); long before = System.currentTimeMillis(); while (ts.incrementToken()) { System.out.println(ts.getAttribute(CharTermAttribute.class)); }/*from ww w.j av a2 s . c o m*/ ts.close(); long now = System.currentTimeMillis(); System.out.println("time: " + (now - before) / 1000.0 + " s"); HashSet<String> hs = new HashSet<String>(); BufferedReader reader2 = IOUtil.getReader(ResourceBundle.getBundle("library").getString("stopLibrary"), "UTF-8"); String word = null; while ((word = reader2.readLine()) != null) { hs.add(word); } Analyzer analyzer = new AnsjAnalysis(hs, false); Directory directory = null; IndexWriter iwriter = null; BufferedReader reader = IOUtil.getReader("/Users/changzhenghe/Downloads/hy_statspack01.txt", "UTF-8"); String temp = null; StringBuilder sb = new StringBuilder(); while ((temp = reader.readLine()) != null) { sb.append(temp); sb.append("\n"); } reader.close(); String text = sb.toString(); text = "???????????? ??? ????????"; IndexWriterConfig ic = new IndexWriterConfig(Version.LUCENE_32, analyzer); // directory = new RAMDirectory(); iwriter = new IndexWriter(directory, ic); // BufferedReader reader = // IOUtil.getReader("/Users/ansj/Documents//?//1998?_.txt", // "GBK"); // String temp = null; // while ((temp = reader.readLine()) != null) { // addContent(iwriter, temp); // } inst.addContent(iwriter, "? ?() (?)"); inst.addContent(iwriter, " ?() (?)"); inst.addContent(iwriter, "? ? (?)"); inst.addContent(iwriter, " ??NEC "); inst.addContent(iwriter, "?"); iwriter.commit(); iwriter.close(); System.out.println(""); inst.search(analyzer, directory, ""); inst.search(analyzer, directory, ""); inst.search(analyzer, directory, ""); inst.search(analyzer, directory, "?"); /* KeyWordComputer kwc = new KeyWordComputer(5); String title = "??"; String content = "9??" + "?????????" + "????" + "??" + "?????" + "???" + "??????" + "???" + "????20??" + "????" + "?" + "???]??" + "???"; Collection<Keyword> result = kwc.computeArticleTfidf(title, content); System.out.println(result); AnsegTest t = new AnsegTest(); List<Term> parse = ToAnalysis.parse("?"); System.out.println(parse); System.out.println("*********** ? ************"); // UserDefineLibrary.insertWord("", "userDefine", 1000); // UserDefineLibrary.insertWord("?", "userDefine", 1000); UserDefineLibrary.insertWord("?", "userDefine", 1000); parse = ToAnalysis.parse("???"); System.out.println(parse); */ }
From source file:net.skyatlas.icd.test.RAMDirectoryDemo.java
public static void main(String[] args) throws IOException { long startTime = System.currentTimeMillis(); System.err.println("*************************** ****************************"); RAMDirectory directory = new RAMDirectory(); Version matchVersion = Version.LUCENE_48; Analyzer analyzer = new StandardAnalyzer(matchVersion); IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_48, analyzer); iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE); IndexWriter writer = new IndexWriter(directory, iwc); Document doc = new Document(); doc.add(new Field("name", "Chenghui", Field.Store.YES, Field.Index.ANALYZED)); doc.add(new Field("sex", "", Field.Store.YES, Field.Index.NOT_ANALYZED)); doc.add(new Field("dosometing", "I am learning lucene ", Field.Store.YES, Field.Index.ANALYZED)); writer.addDocument(doc);//from www.j a v a2 s.c o m writer.close(); IndexReader reader = DirectoryReader.open(directory); IndexSearcher searcher = new IndexSearcher(reader); Query query = new TermQuery(new Term("dosometing", "lucene")); TopDocs rs = searcher.search(query, null, 10); long endTime = System.currentTimeMillis(); System.out.println( "" + (endTime - startTime) + "" + rs.totalHits + "?"); for (int i = 0; i < rs.scoreDocs.length; i++) { // rs.scoreDocs[i].doc ??id, 0 Document firstHit = searcher.doc(rs.scoreDocs[i].doc); System.out.println("name:" + firstHit.getField("name").stringValue()); System.out.println("sex:" + firstHit.getField("sex").stringValue()); System.out.println("dosomething:" + firstHit.getField("dosometing").stringValue()); } reader.close(); directory.close(); System.out.println("*****************?**********************"); }
From source file:net.skyatlas.icd.util.MemoryGrid.java
public void init() throws IOException, CorruptIndexException, InvalidTokenOffsetsException, ParseException, SQLException { System.err.println("--------------\t\t Memory Grid Initializing -------------"); this.allDiseases = this.dao.getAllDisease(); // Vol1 ? this.allIndexItems = this.dao.getAllDiseaseIndexes(); // Vol3 ? this.allIndexRelations = this.dao.getAllIcdDiseaseIdxRelations(); //Vol3 ? this.allDisRelations = this.icdDisRelationDao.getAllDiseaseRelation();//Vol1 ? // ?/*from www . j a va 2s. c o m*/ if (this.allRootIndexItems == null) { this.allRootIndexItems = new ArrayList(); } System.err.println("All Index Items size:" + allIndexItems.size()); System.err.println("All Disease Items size:" + allDiseases.size()); //Vol1 Relation for (int i = 0; i < this.allDisRelations.size(); i++) { IcdDiseaseRelation r = this.allDisRelations.get(i); this.getVol1IDRelationIndexedItems().put(r.getId(), r); List<IcdDiseaseRelation> list = this.getVol1mainIDRelationIndexedItems().get(r.getMainID()); if (list == null || list.size() == 0) { list = new ArrayList(); list.add(r); this.getVol1mainIDRelationIndexedItems().put(r.getMainID(), list); } else { list.add(r); } } // Vol 1 for (int i = 0; i < this.allDiseases.size(); i++) { IcdDisease d = this.allDiseases.get(i); //set Relations List<IcdDiseaseRelation> icdDisRelations = new ArrayList(); icdDisRelations = this.getVol1mainIDRelationIndexedItems().get(d.getId()); HashMap<String, List<IcdDiseaseRelation>> refRelations = new HashMap(); List<IcdDiseaseRelation> noIncludeList = new ArrayList();//d.getRefRelations().get("?"); List<IcdDiseaseRelation> otherCodeList = new ArrayList();//d.getRefRelations().get("??"); List<IcdDiseaseRelation> swordList = new ArrayList();//d.getRefRelations().get(""); List<IcdDiseaseRelation> includeList = new ArrayList();//d.getRefRelations().get(""); if (icdDisRelations == null || icdDisRelations.size() == 0) { } else { for (int j = 0; j < icdDisRelations.size(); j++) { IcdDiseaseRelation idr = icdDisRelations.get(j); if (idr.getRelationType().equals("?")) { noIncludeList.add(idr); } else if (idr.getRelationType().equals("??")) { otherCodeList.add(idr); } else if (idr.getRelationType().equals("")) { swordList.add(idr); } else if (idr.getRelationType().equals("")) { includeList.add(idr); } } if (noIncludeList.size() > 0) { refRelations.put("?", noIncludeList); } if (otherCodeList.size() > 0) { refRelations.put("??", otherCodeList); } if (swordList.size() > 0) { refRelations.put("", swordList); } if (includeList.size() > 0) { refRelations.put("", includeList); } } d.setRefRelations(refRelations); // ID Unique Index this.getVol1IDIndexedItems().put(d.getId(), d); // System.err.println(" ? IcdDisease, ICD Code :"+d.getIcdCode()); // ICD Code if (d.getIcdCode() != null && d.getIcdCode().length() > 0) { // ICD ?? List<IcdDisease> alIndexes; if (this.getVol1IcdIndexedItems().containsKey(d.getIcdCode().toUpperCase())) { alIndexes = this.getVol1IcdIndexedItems().get(d.getIcdCode().toUpperCase()); } else { alIndexes = new ArrayList(); } // System.err.println("Index Disease :"+d.getIcdCode()); alIndexes.add(d); this.getVol1IcdIndexedItems().put(d.getIcdCode().replaceAll("$", "").toUpperCase(), alIndexes); } // Vol1 Name List<IcdDisease> alIndexes2; if (this.getVol1NameIndexedItems().containsKey(d.getCodeNameCh())) { alIndexes2 = this.getVol1NameIndexedItems().get(d.getCodeNameCh()); } else { alIndexes2 = new ArrayList(); } alIndexes2.add(d); this.getVol1NameIndexedItems().put(d.getCodeNameCh(), alIndexes2); // Vol1 List<IcdDisease> alIndexes3; if (this.getVol1PinYinIndexedItems().containsKey(d.getPy())) { alIndexes3 = this.getVol1PinYinIndexedItems().get(d.getPy()); } else { alIndexes3 = new ArrayList(); } alIndexes3.add(d); this.getVol1PinYinIndexedItems().put(d.getPy(), alIndexes3); } /* Vol1parent-children */ for (int i = 0; i < this.allDiseases.size(); i++) { IcdDisease d = this.allDiseases.get(i); if (d.getParentID() != null && d.getParentID() != 0) { IcdDisease parent = this.getVol1IDIndexedItems().get(d.getParentID()); d.setParentDisease(parent); if (parent == null) { System.err.println(" parent is null :" + d.getId() + "\t" + d.getParentID()); continue; } if (parent.getChildren() == null) { parent.setChildren(new ArrayList()); } parent.getChildren().add(d); } } // Vol 3 for (int i = 0; i < this.allIndexItems.size(); i++) { IcdDiseaseIndex e = this.allIndexItems.get(i); this.getVol3IDIndexedItems().put(e.getId(), e); // ID Unique // ?? List<IcdDiseaseIndex> alIdxes; if (this.getVol3NameIndexedItems().containsKey(e.getNameCh())) { alIdxes = this.getVol3NameIndexedItems().get(e.getNameCh()); } else { alIdxes = new ArrayList(); } alIdxes.add(e); this.getVol3NameIndexedItems().put(e.getNameCh(), alIdxes); // List<IcdDiseaseIndex> alIdxes2; if (this.getVol3PinYinIndexedItems().containsKey(e.getPy())) { alIdxes2 = this.getVol3PinYinIndexedItems().get(e.getPy()); } else { alIdxes2 = new ArrayList(); } alIdxes2.add(e); this.getVol3PinYinIndexedItems().put(e.getPy(), alIdxes2); // ????? if (this.dealAlias) { List<String> slist = new ArrayList(); slist = dao.getAliasesByIndexid(e.getId()); if (slist.size() != 0) { String[] aliases = new String[slist.size()]; slist.toArray(aliases); e.setAliases(aliases); } } if (e.getDepth() == 0) { // Vol3 Item ? this.allRootIndexItems.add(e); // Pattern p = Pattern.compile("[\\[]"); // Matcher m = p.matcher(e.getNameCh()); // while (m.find()) { // System.err.println("[]??:\t"+e.getNameCh()+"-> startIndex:"+m.start()+"-> endIndex:"+m.end()+" Match:"+m.group()); // } // Pattern p2 = Pattern.compile("[]\\)"); // Matcher m2 = p2.matcher(e.getNameCh()); // while (m2.find()) { // System.err.println("(?)??:\t"+e.getNameCh()+"-> startIndex:"+m2.start()+"-> endIndex:"+m2.end()+" Match:"+m2.group()); // } // p2 = Pattern.compile(pstr1); // m2 = p2.matcher(e.getNameCh()); // while (m2.find()) { // System.err.println(" () [] "+m2.group()+"-->"+e.getNameCh()+"->"+m2.group(1)); // } // // p2 = Pattern.compile(pstr2); // m2 = p2.matcher(e.getNameCh()); // while (m2.find()) { // System.err.println(" [] () "+m2.group()+"-->"+e.getNameCh()); // } // // // p2 = Pattern.compile(pstr3); // m2 = p2.matcher(e.getNameCh()); // while (m2.find()) { // System.err.println(" [] ? "+m2.group()+"-->"+e.getNameCh()); // } // // // p2 = Pattern.compile(pstr4); // m2 = p2.matcher(e.getNameCh()); // while (m2.find()) { // System.err.println(" () ? "+m2.group()+"-->"+e.getNameCh()); // } // ?? /* parseRootIndex(e); e.getParseTreeRoot().setDepth(0); System.out.println("? " + e.getNameCh() + " \n Parse Result :" + e.getParseTreeRoot().toString()); */ } // ??? } //Vol3 parent-children for (int i = 0; i < this.allIndexItems.size(); i++) { IcdDiseaseIndex idi = this.allIndexItems.get(i); if (idi.getParentID() != null && idi.getParentID() != 0) { IcdDiseaseIndex parent = this.getVol3IDIndexedItems().get(idi.getParentID()); idi.setParentDiseaseIndex(parent); if (parent == null) { System.err.println(" parent is null :" + idi.getId() + "\t" + idi.getParentID()); continue; } if (parent.getChildren() == null) { parent.setChildren(new ArrayList()); } parent.getChildren().add(idi); } } // ? Vol3 for (IcdDiseaseIndex idi : this.allIndexItems) { // ICD ?? if (idi.getIcdCode() != null && idi.getIcdCode().length() > 0) { Stack<IcdDiseaseIndex> v = new Stack(); createIdexSearchPath(v, idi); // ? SearchPath path = new SearchPath(); Iterator<IcdDiseaseIndex> itr = v.iterator(); while (itr.hasNext()) { IcdDiseaseIndex i = itr.next(); path.getNodeList().add(i); // IcdDiseaseIndex Parse if (idi.getDepth() > 0) { /* parseRootIndex(idi); */ } } path.setNodes(path.getNodeList().size()); path.setStartPoint(path.getNodeList().get(0)); // Get Terminal ICD Disease /* M72.5 Vol1 ? D54 Vol1 ? W13 Vol1 */ List<IcdDisease> ds = this.getVol1IcdIndexedItems() .get(idi.getIcdCode().replaceAll("$", "").toUpperCase()); if (ds == null) { // Maybe the icd code in Vol3 cannot be found in Vol1, Skip this item... ds = this.getVol1IcdIndexedItems().get(idi.getIcdCode().replaceAll("$", "") .replaceAll("\\.$", "").replace(".-", "").toUpperCase()); if (ds == null) { System.err.println("ICD CODE:" + idi.getIcdCode() + " Indexed ?" + this.getVol1IcdIndexedItems().containsKey(idi.getIcdCode().toUpperCase()) + "--" + idi.getIcdCode().replaceAll("$", "").replaceAll("\\.$", "") .replace(".-", "").toUpperCase()); continue; } } for (IcdDisease dis : ds) { if (dis.getCodeType().equals("") || dis.getCodeType().equals("")) { continue; } path.setTerminal(dis); } // ??? setDimension(path, path.getTerminal()); // this.getAllSearchPaths().add(path); this.getGuidIndexedSearchPaths().put(path.getPathHashCode(), path); // ??ICD Code List<SearchPath> al1 = this.getIcdIndexedSearchPaths() .get(path.getTerminal().getIcdCode().toUpperCase()); if (al1 == null) { al1 = new ArrayList<SearchPath>(); } al1.add(path); this.getIcdIndexedSearchPaths().put(path.getTerminal().getIcdCode().toUpperCase(), al1); // ??(ICDDiseaseIndex) List<SearchPath> al2 = this.getRootIndexedSearchPaths().get(path.getStartPoint()); // SearchPath al2 = this.getRootIndexedSearchPaths().get(path.getStartPoint()); if (al2 == null || al2.size() == 0) { //al2 = new SearchPath(); al2 = new ArrayList(); } al2.add(path); this.getRootIndexedSearchPaths().put(path.getStartPoint(), al2); } } /*2014-06-11 15:28:22 * Vol1parent-children for(int i =0;i<this.allIndexItems.size();i++){ IcdDiseaseIndex d = this.allIndexItems.get(i); if(d.getParentID()!=null&&d.getParentID()!=0){ IcdDiseaseIndex parent = this.getVol3IDIndexedItems().get(d.getParentID()); d.setParentDiseaseIndex(parent); if(parent == null){ System.err.println(" parent is null :"+d.getId()+"\t"+d.getParentID()); continue; } if(parent.getChildren() ==null){ parent.setChildren(new ArrayList()); } parent.getChildren().add(d); } } */ // ? End! /* ?: 1. ICDDisease ? children --> ? 2. ICDDisease ?Lucene --> ? 3. search ? */ System.err.println("Search Path #:" + this.getAllSearchPaths().size()); System.err.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); // for (SearchPath sp : this.getAllSearchPaths()) { // System.err.println(sp); // } System.err.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); /* for (IcdDiseaseIndex idi : this.allRootIndexItems) { System.err.println("? :" + idi.getNameCh() + "->" + idi.getPage() + "-" + idi.getPathStr() + "-" + idi.getDepth()); List<SearchPath> paths = this.getRootIndexedSearchPaths().get(idi); if (paths == null) { System.err.println("\t Search Path"); } else { for (SearchPath sp : paths) { System.err.println("\t "+sp.getIndexString()); } } } */ System.err.println("******************* Begin create Idnex *********************"); HashSet<String> hs = new HashSet<String>(); BufferedReader reader2 = IOUtil.getReader(ResourceBundle.getBundle("library").getString("stopLibrary"), "UTF-8"); String word = null; while ((word = reader2.readLine()) != null) { hs.add(word); } // MemoryGrid Lucene ?? directory = new RAMDirectory(); Version matchVersion = Version.LUCENE_48; analyzer = new AnsjAnalysis(hs, false); /* TokenStream ts = analyzer.tokenStream("", "?"); // CharTermAttribute term = ts.addAttribute(CharTermAttribute.class); System.err.println(" Test ?"); while (ts.incrementToken()) { System.out.println("?" + ts.getAttribute(CharTermAttribute.class) + ""); } ts.close(); */ IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_48, analyzer); iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE); IndexWriter writer = new IndexWriter(directory, iwc); // ? for (SearchPath path : this.getAllSearchPaths()) { // System.err.println(" ? :"+path.getIndexString()); addContent(writer, path.getIndexString(), path.getPathHashCode(), path.getNodes(), "vol3"); } writer.commit(); writer.close(); System.err.println("***************** index created *******************"); System.out.println(""); // search(analyzer,directory,"?"); //DEBUG: HIS?? ?ICD?? /* try { OracleDataSource ods = new OracleDataSource(); ods.setURL("jdbc:oracle:thin:@//192.168.1.115:1521/omac"); ods.setUser("oracle"); ods.setPassword("quickhis"); Connection conn = ods.getConnection(); String sql = "select main_icd,diag_name from fir_out_diag_tab where diag_date > (sysdate-1000) and rownum < 1000"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { String mainIcd = rs.getString(1); String diagName = rs.getString(2); if (diagName==null || "".equals(diagName)) { continue; } diagName = diagName.replaceAll("", "(").replaceAll("", ")"); System.err.println(" ICD_CODE:"+mainIcd+"\t >>"+diagName); search(analyzer,directory,diagName); } rs.close(); stmt.close(); conn.close(); } catch (SQLException ex) { ex.printStackTrace(); } */ }
From source file:net.sourceforge.docfetcher.model.search.HighlightService.java
License:Open Source License
@MutableCopy @NotNull//from ww w .j ava 2 s. c om @SuppressWarnings("unchecked") private static List<Range> highlightPhrases(@NotNull Query query, @NotNull String text) throws CheckedOutOfMemoryError { // FastVectorHighlighter only supports TermQuery, PhraseQuery and BooleanQuery FastVectorHighlighter highlighter = new FastVectorHighlighter(true, true, null, null); FieldQuery fieldQuery = highlighter.getFieldQuery(query); Directory directory = new RAMDirectory(); try { /* * Hack: We have to put the given text in a RAM index, because the * fast-vector highlighter can only work on index readers */ IndexWriterAdapter writer = new IndexWriterAdapter(directory); Document doc = new Document(); doc.add(Fields.createContent(text, true)); // must store token positions and offsets writer.add(doc); Closeables.closeQuietly(writer); // flush unwritten documents into index IndexReader indexReader = IndexReader.open(directory); // This might throw an OutOfMemoryError FieldTermStack fieldTermStack = new FieldTermStack(indexReader, 0, Fields.CONTENT.key(), fieldQuery); FieldPhraseList fieldPhraseList = new FieldPhraseList(fieldTermStack, fieldQuery); // Hack: We'll use reflection to access a private field java.lang.reflect.Field field = fieldPhraseList.getClass().getDeclaredField("phraseList"); field.setAccessible(true); LinkedList<WeightedPhraseInfo> infoList = (LinkedList<WeightedPhraseInfo>) field.get(fieldPhraseList); List<Range> ranges = new ArrayList<Range>(infoList.size()); for (WeightedPhraseInfo phraseInfo : infoList) { int start = phraseInfo.getStartOffset(); int end = phraseInfo.getEndOffset(); ranges.add(new Range(start, end - start)); } return ranges; } catch (OutOfMemoryError e) { throw new CheckedOutOfMemoryError(e); } catch (Exception e) { return new ArrayList<Range>(0); } }