zoukankan      html  css  js  c++  java
  • lucene复合条件查询案例——查询name域 或 description域 包含lucene关键字的两种方式

    方式一:使用语法表达式查询

    1 //查询name域 或 description域包含lucene关键字
    2 QueryParser queryParser = new QueryParser("name", new StandardAnalyzer());
    3 Query parse = queryParser.parse("name:lucene description:lucene");
    4 Sort sort = new Sort(new SortField("id", Type.INT));
    5 TopDocs topDocs = indexSearcher.search(parse, 10, sort);

    方式二:使用lucene提供的复合条件

    1 //查询name域 或 description域包含lucene关键字
    2 String[] fields = {"name","description"};
    3 MultiFieldQueryParser queryParser = new MultiFieldQueryParser(fields, new StandardAnalyzer());
    4 Query parse = queryParser.parse("lucene");
    5 Sort sort = new Sort(new SortField("id", Type.INT));
    6 TopDocs topDocs = indexSearcher.search(parse, 10, sort);

    其实按照id排序没什么必要,毕竟搜索引擎查询的结果一般是不会按照id排序的,而是按照相关度或者人工干预的方式去排序的。

  • 相关阅读:
    Eureka Server的多级缓存和过期机制
    eureka-client拉取注册表
    Ribbon的调用流程
    EurekaServer启动
    eureka的注册
    Eureka的客户端是怎么启动的?
    Ribbon的负载均衡源码
    Ribbon是怎么重构URL的?
    Maven添加本地jar
    window 常用软件记录
  • 原文地址:https://www.cnblogs.com/gongchengshixiaobai/p/8051565.html
Copyright © 2011-2022 走看看