论坛首页 Java企业应用论坛

关于lucene的Document-效率抉择

浏览 3649 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-04-04  
目前做的一个项目需要实现这样的功能:
   资料库为大量的中英文对照的句子,例如:
Welcome—come in. # 欢迎——请进。
Welcome home\back—we've missed you! # 欢迎回家/回来——我们好想念你!
Welcome to Cambridge. # 欢迎到剑桥来。
(on an aircraft) Welcome on board. # 欢迎登机。
(on a ship) Welcome aboard. # 欢迎上船。

   我需要索引它,实现搜索英文或中文结果呈现匹配到的句子。
   实现方法我有两种思路:
   1.按照我对lucene的理解,一个Document相当于一条数据库记录,分为两个filed,一个交eng,一个叫ch,其中eng采用StandardAnalyzer,ch采用中文分词的分析器。这样子做导致document的数量特别多,但是我能在搜索时根据不同的field采用不同的分析器去搜索。
   2.将每个文件作为一个document,将中英文合并为一个field,这样实现起来比较简单,但是效率应该不高。
   但是我发现,由于我所有的内容都要能索引、要存储:
Field engField = new Field("eng", eng ,Field.Store.YES,Field.Index.TOKENIZED);
Field chField = new Field("ch", ch ,Field.Store.YES,Field.Index.TOKENIZED);

   这样结果我的索引大小和文件库大小差不多,不知各位有什么好的建议?
  
   发表时间:2007-04-04  
第二种方案
我的模型比你的模型复杂的多,还带有多种语义,
经过很长时间的测试,还是选择了第二种方案。
至于文件大小,那就真没有办法了。
0 请登录后投票
   发表时间:2007-04-05  
wl95421 写道
第二种方案
我的模型比你的模型复杂的多,还带有多种语义,
经过很长时间的测试,还是选择了第二种方案。
至于文件大小,那就真没有办法了。

谢谢,我还是测试一下,希望能听到更多的分析
0 请登录后投票
   发表时间:2007-04-07  
正文的数据不用存储啊,因为你在关系数据库里面已经存在这样的数据了,可以在需要正文的时候到数据库里面提取。而且对于设置了要存储的数据lucene直接将其内容存到了.fdt文件中,你可以用记事本打开看看。所以你的索引文件应该会比库还大。
0 请登录后投票
   发表时间:2007-04-08  
javaeyes 写道
正文的数据不用存储啊,因为你在关系数据库里面已经存在这样的数据了,可以在需要正文的时候到数据库里面提取。而且对于设置了要存储的数据lucene直接将其内容存到了.fdt文件中,你可以用记事本打开看看。所以你的索引文件应该会比库还大。


那你的搜索结果的summary“高亮”怎么解决??自己写代码从正文中抽取搞定么?
0 请登录后投票
   发表时间:2007-04-10  
高亮我还没看过,可以去看看nutch的summary
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics