小弟最近有个项目用到lucene,建立索引的时候,怎样将索引建立在服务器上。现在好像只能建立在本地磁盘上,lucene能访问网络地址吗?
------解决方案--------------------------------------------------------
好早好早以前有研究过lucene,可是不太记得了...
应该是可以建在服务器上的,看看apache solr?
------解决方案--------------------------------------------------------
建到本地,再流读, socket传行不?
不太明白你的web项目不是本来就部署在服务器上吗?
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
- Java code
/** * * 创建搜索引擎 生成索引文件 * @param path 索引文件路径 */ @SuppressWarnings("unchecked") public boolean writerinNet(String path) { boolean flag = false; //对诉求表进行查寻 List<Appeal> list = this.getSqlMapClientTemplate().queryForList("appeal.writerinNet"); try { //生成索引文件的对象 作用是把一个Document对象加载到索引中来 IndexWriter iwriter = new IndexWriter(createFolder(path), analyzer, true); //索引文件生成的最大值 iwriter.setMaxFieldLength(25000); for(Appeal a:list){ Document doc = new Document(); doc.add(new Field("appealId", a.getAppealId()+"" , Field.Store.YES, Field.Index.TOKENIZED)); doc.add(new Field("appealTitle", a.getAppealTitle(), Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS)); doc.add(new Field("appealContent", a.getAppealContent(), Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS)); iwriter.addDocument(doc); } iwriter.close(); flag = true; } catch (Exception e) { System.out.println(e); } return flag; }