资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

关于lucene2.2部分代码-创新互联

1.单字段查询,一个filed对应一个keyword关于lucene2.2部分代码
QueryParser parser = new MultiFieldQueryParser(fieldName, analyzer);
parser.setAllowLeadingWildcard(true);
Query query= null;
query = parser.parse(keyword);
hits = searcher.search(query);
if (hits != null) {
               docList = new ArrayList();
               for (int i = 0; i < hits.length(); i++) {
                  docList.add(hits.doc(i));
               }
            }
searcher.close();

2.多字段查询 多个filed对应一个keyword

创新新互联,凭借10余年的网站设计、做网站经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有超过千家案例。做网站建设,选创新互联建站
QueryParser parser = new MultiFieldQueryParser(fieldNames, analyzer);
parser.setAllowLeadingWildcard(true);
Query query= null;
query = parser.parse(keyword);
hits = searcher.search(query);

3.复合查询 一个filed对应一个keyword 剩下的多个field对应另外一个keyword

BooleanQuery bQuery = new BooleanQuery();
QueryParser queryParserCategory= new QueryParser(fieldNames[0], analyzer);
queryParserCategory.setAllowLeadingWildcard(true);
Query queryCategory= null;
queryCategory = queryParserCategory.parse(keywords[0]);
bQuery.add(queryCategory, BooleanClause.Occur.MUST);
String[] fieldNamesLeft = new String[fieldNames.length - 1];
for (int i = 1; i < fieldNames.length; i++) {
     fieldNamesLeft[i - 1] = fieldNames[i];
 }
QueryParser parser = new MultiFieldQueryParser(fieldNamesLeft, analyzer);
parser.setAllowLeadingWildcard(true);
Query query = null;
query = parser.parse(keywords[1]);
bQuery.add(query, BooleanClause.Occur.MUST);
if (bQuery != null) {
            hits = searcher.search(bQuery);
            if (hits != null) {
               docList = new ArrayList();
               for (int i = 0; i < hits.length(); i++) {
                  docList.add(hits.doc(i));
               }
            }


当前标题:关于lucene2.2部分代码-创新互联
网址分享:http://cdkjz.cn/article/djdcpi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220