[lucene] 多字段搜索问题

zxh116116 2009-07-31
例如我要搜索 中国人民共和国,分词结果为 中国,人民,共和国
我现在要在title,content两个字段搜索也就是title包含中国或title包含人命或title共和国的,或者中包含content中国或包含content人民或包含content共和国的结果怎么写?
kinghongen 2009-08-02
lucene默认的默认搜索,多个关键字直接的关系是或,所以直接使用多域搜索对象查询出来的结果就是这样。


更灵活的控制方式为:

BooleanQuery booleanQuery = new BooleanQuery();

QueryParser parser = new QueryParser("title",分词器);
Query titleQuery = parser .parser("中国人民共和国");
booleanQuery.add(titleQuery,....SHOULD);

QueryParser parser = new QueryParser("content",分词器);
Query contentQuery = parser .parser("中国人民共和国");
booleanQuery.add(contentQuery ,....SHOULD);
Global site tag (gtag.js) - Google Analytics