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


  • 相关阅读:
    多级指针类型
    核心转储(core dump)
    地址总线
    eda soa
    QT信号槽简易分析_如何查看与分析QT的源码实现
    The Meta-Object System Signals & Slots 信号槽机制
    可重入 threadsafe reentrant nonreentrant
    秘钥文件
    服务启动基本
    格言
  • 原文地址:https://www.cnblogs.com/cuiyf/p/2964600.html
Copyright © 2011-2022 走看看