请教高人:Lucene多索引,多条件搜索的问题

kwklover 2006-07-09 11:00:08
现有多个索引(目录),分别为目录1,目录2。两个目录的document结构是不一样。
目录1的Document有名字为Content的Field,目录2的Document有名字为Body的Field,
现在需要同时搜索索引目录1,目录2,并且要同时搜索对应的Field : Content和Body

我实现代码如下,但这样实现是有问题的(如果两个索引目录的document结构一样。是没有问题的)

string[] fields = {"Content","Body"} ;
Query query = MultiFieldQueryParser.Parse("我" , fields , new StandardAnalyzer()) ;

IndexSearcher[] searchers = new IndexSearcher[2] ;
searchers[0] = new IndexSearcher(索引目录1) ;
searchers[1] = new IndexSearcher(索引目录2) ;

MultiSearcher multiSearcher = new MultiSearcher(searchers) ;
Hits hits = multiSearcher.Search(query) ;

有那位实现过类似的功能,望不吝赐教.
谢谢

在.net版问了N久都没回答,所以来Java版看看

http://community.csdn.net/Expert/topic/4857/4857837.xml?temp=.2234156
...全文
622 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
AxeLion 2006-07-17
String[] queryString = {"query1", "query2", "query3"}; //检索内容
String[] fields = {"filename", "contents", "description"}; //检索区域
BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD, //检索条件
BooleanClause.Occur.MUST,
BooleanClause.Occur.MUST_NOT};
MultiFieldQueryParser.parse(queryString, fields, flags, analyzer);
  • 打赏
  • 举报
回复
dekkerhyp411 2006-07-12
JFJF
  • 打赏
  • 举报
回复
showme99 2006-07-10
www.ehr99.com
很实用、简单的一个网站
  • 打赏
  • 举报
回复
sh_badboy1980 2006-07-10
很简单,分别搜索,然后将结果合并不就可以了
  • 打赏
  • 举报
回复
kwklover 2006-07-10
@chg2008(岂能尽如人意,但求无愧我心!)

那该如何实现呢?
  • 打赏
  • 举报
回复
chg2008 2006-07-09
嗯,当两个索引的document结构不一样时,是不能这样做的。
  • 打赏
  • 举报
回复
相关推荐
发帖
Java EE
加入

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
申请成为版主
帖子事件
创建了帖子
2006-07-09 11:00
社区公告
暂无公告