使全文检索查询数据经常要涉及到排序和条件查询,下面简单介绍常用的排序和查询方式。
SolrServer solr = SolrUtil.getSolrServer();
//获取查询对象
SolrQuery query = new SolrQuery();
//设置查询关键字
query.setQuery("content:程序员");
//设置查询返回的字段
query.setParam("fl", "createdAt,content");
//翻页设计参数:起始行,每行返回条数
query.setParam("start", "100");
query.setParam("rows", "10");
//字段排序
query.addSortField("createdAt", SolrQuery.ORDER.desc );
//时间条件查询
query.addFilterQuery("createdAt:[2011-01-01T00:00:01Z"+" TO 2013-01-01T00:00:01Z]");
//高亮显示
query.setHighlight(true).setHighlightSnippets(1);
需要注意,如果需要对field进行排序就必须在schema.xml中对该field进行配置格式如下:
<field name="createdAt" type="pdate" stored="true" indexed="true" multiValued="false" required="true"/>
其中 indexed="true表示运行被检索, multiValued="false" 不存在多值,默认为“true” 多值,多值无法排序。
高亮显示需要在solrconfig.xml中进行配置,修改为如下格式即可:
<formatter name="html"
default="true"
class="solr.highlight.HtmlFormatter">
<lst name="defaults">
<str name="hl.simple.pre"><![CDATA[<font class='highlight'>]]></str>
<str name="hl.simple.post"><![CDATA[</font>]]></str>
</lst>
</formatter>
To be continue;
分享到:
相关推荐
这个版本包含了对搜索性能的优化,改进了处理大量数据的能力,并且引入了一些新的查询过滤器和排序选项。同时,Solr 3.5 提供了更强大的管理界面,使得配置和管理索引变得更加便捷。 整合 Solr 3.5 与 Tomcat 的...
### Solr3.5开发应用指导 #### 一、概述 **1.1 企业搜索引擎方案选型** 在选择企业搜索引擎方案时,考虑到多种因素,包括但不限于开发成本、可维护性和后期扩展性等。常见的几种方案包括: 1. **基于Lucene自行...
5. **自定义插件**:Solr 允许开发人员编写自定义插件,如查询解析器、过滤器、排序函数等,以满足特定需求。 6. **分布式搜索**:通过配置多个 Solr 核心,可以实现分布式搜索,处理大规模数据并提高性能。 在...
1. `apache-solr-core-3.5.0.jar`: 这是Solr的核心库,包含了实现全文索引、查询、排序和结果高亮等功能的基础代码。其中,Solr服务器的核心功能如索引存储、查询处理、请求处理器和响应生成器都封装在这个JAR文件里...
5. **查询和排序**:Solr支持丰富的查询语法,如标准查询解析器、短语查询、模糊匹配等。同时,可以自定义排序规则,如基于字段值、评分或自定义脚本。 6. **分布式搜索**:Solr 3.5.0支持分布式搜索,通过分片和...
Solr的核心功能包括文本分析、索引构建、查询处理和结果排序。它支持多种数据源,如XML、CSV、JSON等,并且可以轻松地与Java、PHP、Python等语言集成。Solr 3.5版本是在2011年发布,虽然现在已经有了更新的版本,但...
Solr提供丰富的查询语法,包括布尔运算、短语匹配、范围查询等,还支持自定义查询解析器和函数查询,以实现复杂的查询逻辑。 1.2.4 核心 在Solr中,每个独立的搜索服务实例被称为一个“核心”(Core),每个核心...
- **1.3.2 搜索**:用户提交查询请求后,Solr会解析查询语句,查找相应的索引,并返回匹配的文档列表。 **1.4 源码结构** - **1.4.1 目录结构说明**:Solr项目的目录结构清晰,主要包括src/main/java下的源代码、...
Solr基于Java,是Apache Lucene项目的一部分,提供了高级的索引和查询功能,支持多种数据源,包括XML、JSON、CSV等。在企业环境中,Solr常常与Web服务器如Tomcat集成,以提供更灵活和方便的部署选项。 标题"apache-...
Solr支持丰富的查询语言,包括全文查询、范围查询、模糊查询等,使得用户能够精确地找到所需的信息。 - **1.2.4 核心** 每个Solr实例都可以包含多个独立的核心,每个核心都有自己的配置文件和索引库。这种方式极大...
- **3.6.1 搜索语法**:Solr支持丰富的查询语言,可以进行复杂条件组合的查询。 - **3.6.2 排序**:可以按照特定字段的值进行升序或降序排列。 - **3.6.3 字段增加权重**:为某些字段设置更高的权重,可以影响...
4. **结果排序**:可使用Sort对象定制排序规则,如按照评分或特定字段排序。 5. **过滤结果**:使用Filter实现结果过滤,如按日期、关键词等条件筛选。 五、实战应用 1. **网站搜索引擎**:集成Lucene 3.5,实现站...
Solr提供了强大的查询语言,支持复杂的查询语法,包括布尔逻辑、近似匹配、短语查询等,以满足不同类型的搜索需求。 **1.2.4 核心** Solr支持多核心(MultiCore),每个核心可以视为独立的索引,这样可以实现更细...
- **Boosting**:允许开发者对某些查询项或文档赋予更高的权重,以影响搜索结果的排序。 3. **高级特性** - **多字段搜索**:在一个Document中,可以针对不同Field进行独立搜索。 - **近实时搜索**:通过NRT...
它主要包括两个阶段:Map阶段对数据进行过滤和排序;Reduce阶段对中间结果进行汇总。这种模型可以有效地处理PB级别的数据。 **1.5 分片(Sharding)** 分片是将大型数据库分割成多个较小的、更易于管理的部分的...