lucene-多字段、多索引搜索与多线程搜索

1、多字段搜索

1)

Term t1=new Term("title","会议");

TermQuery q1=new TermQuery(t1);

Term t2=new Term("context","交通部");

TermQuery q2=new TermQuery(t2);

BooleanQuery q=new BooleanQuery();

q.add(q1,BooleanClause.Occur.SHOULD);

q.add(q2,BooleanClause.Occur.SHOULD);

2)

String[] fileds=["title","context"];

String[] keys=["会议","交通部"]

MultiFieldQueryParser mp=new MultiFieldQueryParser(fields,new StandardAnalyzer());

Query q=mp.parse(keys);

还例如:

String[] query = {"query1", "query2", "query3"};
String[] fields = {"filename", "contents", "description"};
BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD,
                BooleanClause.Occur.MUST,
                BooleanClause.Occur.MUST_NOT};
MultiFieldQueryParser.parse(query, fields, flags, analyzer);

The code above would construct a query:

 
 (filename:query1) +(contents:query2) -(description:query3)
2、多索引
IndexSearcher searcher1=new IndexSearcher("index1");
IndexSearcher searcher2=new IndexSearcher("index2");
IndexSearcher[] searchers={search1,search2};
MultiSearcher searcher=new MultiSearcher(searchers);
3、多线程
IndexSearcher searcher1=new IndexSearcher("index1");
IndexSearcher searcher2=new IndexSearcher("index2");
IndexSearcher[] searchers={search1,search2};
ParallelMultiSearcher searcher=new ParallelMultiSearcher(searchers);
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值