lucene问题

索引已经建立,但就是检索不到数据。hits.length()一直为0

public hits search(string querystring) {
hits hits = null;

try {

file file = new file(indexpath);

directory directory = fsdirectory.getdirectory(file);

indexsearcher searcher = new indexsearcher(directory);

string[] fields = { "customerid", "shipname", "shipcity",
"shipcountry" };
multifieldqueryparser mquerypaser = new multifieldqueryparser(
fields, getanalyzer());

query query = mquerypaser.parse(querystring);

hits = searcher.search(query);

} catch (exception e) {
//do something here
}

return hits;
}

public void doindex(string sql) {

try {

indexwriter writer = new indexwriter(indexpath, getanalyzer(), true);

resultset rs = lucenedb.getresult(sql);

while (rs.next()) {
document doc = new document();
doc.add(new field("customerid", rs.getstring("customerid"),
field.store.yes, field.index.tokenized));
doc.add(new field("shipname", rs.getstring("shipname"),
field.store.yes, field.index.tokenized));
doc.add(new field("shipcity", rs.getstring("shipcity"),
field.store.yes, field.index.tokenized));
doc.add(new field("shipcountry", rs.getstring("shipcountry"),
field.store.yes, field.index.tokenized));

writer.adddocument(doc);
}
writer.optimize();
writer.close();

} catch (corruptindexexception ce) {
system.out.println(ce.getmessage());
} catch (ioexception ie) {
system.out.println(ie.getmessage());
} catch (sqlexception se) {
system.out.println(se.getmessage());
}
}


public analyzer getanalyzer() {
return new standardanalyzer();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值