[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); |