zoukankan      html  css  js  c++  java
  • 关于lucene2.2部分代码

    1.单字段查询,一个filed对应一个keyword

    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<Document>();
                        for (int i = 0; i < hits.length(); i++) {
                            docList.add(hits.doc(i));
                        }
                    }
    searcher.close();

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

    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<Document>();
                        for (int i = 0; i < hits.length(); i++) {
                            docList.add(hits.doc(i));
                        }
                    }


  • 相关阅读:
    jvm gc 线程
    高分辨率图像建筑物提取数据集制作
    Ubuntu 更改软件源
    后台程序员简单应用前端的bootstrap(小白)
    php--常见算法3
    php--常见算法2
    php--常见算法1
    php三种排序算法
    Django学习之十二:Cache 缓存组件
    Restframe_work 回顾记忆集
  • 原文地址:https://www.cnblogs.com/cuiyf/p/2964600.html
Copyright © 2011-2022 走看看