1 概述 4 1.1 企业搜索引擎方案选型 4 1.2 Solr的特性 4 1.2.1 Solr使用Lucene并且进行了扩展 4 1.2.2 Schema(模式) 5 1.2.3 查询 5 1.2.4 核心 5 1.2.5 缓存 5 1.2.6 复制 6 1.2.7 管理接口 6 1.3 Solr服务原理 6 1.3.1 索引 6 1.3.2 搜索 7 1.4 源码结构 8 1.4.1 目录结构说明 8 1.4.2 Solr home说明 9 1.4.3 solr的各包的说明 10 1.5 版本说明 11 1.5.1 1.3版本 11 1.5.2 1.4版本 12 1.6 分布式和复制 Solr 架构 13 2 Solr的安装与配置 13 2.1 在Tomcat下Solr安装 13 2.1.1 安装准备 13 2.1.2 安装过程 14 2.1.3 验证安装 15 2.2 中文分词配置 15 2.2.1 mmseg4j 15 2.2.2 paoding 19 2.3 多核(MultiCore)配置 22 2.3.1 MultiCore的配置方法 22 2.3.2 为何使用多core ? 23 2.4 配置文件说明 23 2.4.1 schema.xml 24 2.4.2 solrconfig.xml 25 3 Solr的应用 29 3.1 SOLR应用概述 29 3.1.1 Solr的应用模式 29 3.1.2 SOLR的使用过程说明 30 3.2 一个简单的例子 30 3.2.1 Solr Schema 设计 30 3.2.2 构建索引 30 3.2.3 搜索测试 31 3.3 搜索引擎的规划设计 32 3.3.1 定义业务模型 32 3.3.2 定制索引服务 34 3.3.3 定制搜索服务 34 3.4 搜索引擎配置 34 3.4.1 Solr Schema 设计(如何定制索引的结构?) 34 3.5 如何进行索引操作? 36 3.5.1 基本索引操作 36 3.5.2 批量索引操作 37 3.6 如何进行搜索 39 3.6.1 搜索语法 39 3.6.2 排序 42 3.6.3 字段增加权重 42 3.6.4 Solr分词器、过滤器、分析器 42 3.6.5 Solr高亮使用 46 4 SolrJ的用法 46 4.1 搜索接口的调用实例 46 4.2 Solrj的使用说明 47 4.2.1 Adding Data to Solr 47 4.2.2 Directly adding POJOs to Solr 49 4.2.3 Reading Data from Solr 51 4.3 创建查询 51 4.4 使用 SolrJ 创建索引 52 4.5 Solrj包的结构说明 53 4.5.1 CommonsHttpSolrServer 53 4.5.2 Setting XMLResponseParser 53 4.5.3 Changing other Connection Settings 53 4.5.4 EmbeddedSolrServer 54 5 Solr的实际应用测试报告 54 5.1 线下压力测试报告 54 5.2 线上环境运行报告 54 6 solr性能调优 55 6.1 Schema Design Considerations 55 6.1.1 indexed fields 55 6.1.2 stored fields 55 6.2 Configuration Considerations 55 6.2.1 mergeFactor 55 6.2.2 mergeFactor Tradeoffs 56 6.3 Cache autoWarm Count Considerations 56 6.4 Cache hit rate(缓存命中率) 56 6.5 Explicit Warming of Sort Fields 56 6.6 Optimization Considerations 56 6.7 Updates and Commit Frequency Tradeoffs 56 6.8 Query Response Compression 57 6.9 Embedded vs HTTP Post 57 6.10 RAM Usage Considerations(内存方面的考虑) 57 6.10.1 OutOfMemoryErrors 57 6.10.2 Memory allocated to the Java VM 57 7 FAQ 58 7.1 出现乱码或者查不到结果的排查方法: 58 **SOLR应用教程** **一、概述** 1.1 企业搜索引擎方案选型 在为企业选择搜索引擎解决方案时,需要考虑的关键因素包括处理能力、可扩展性、易用性、性能以及对特定业务需求的支持。Solr作为一种开源的企业级搜索平台,因其高效、灵活和强大的特性,成为许多企业的首选。 1.2 Solr的特性 1.2.1 Solr使用Lucene并且进行了扩展 Solr基于Apache Lucene,它提供了更高级的功能,如集群、分布式搜索、复制和负载均衡,使得Solr更适合大规模、高并发的搜索应用。 1.2.2 Schema(模式) Schema是Solr的核心配置之一,用于定义索引字段、数据类型、分析器等,它允许用户自定义字段的属性,以满足不同数据的处理需求。 1.2.3 查询 Solr提供丰富的查询语法,包括布尔运算、短语匹配、范围查询等,还支持自定义查询解析器和函数查询,以实现复杂的查询逻辑。 1.2.4 核心 在Solr中,每个独立的搜索服务实例被称为一个“核心”(Core),每个核心可以独立处理不同的数据集,增强了系统的灵活性。 1.2.5 缓存 Solr内置了多种缓存机制,如查询结果缓存、文档缓存、过滤器缓存等,以提高查询速度和系统性能。 1.2.6 复制 Solr支持数据复制,确保在主节点故障时,数据不会丢失,保持服务的高可用性。 1.2.7 管理接口 Solr提供了一个基于HTTP的管理界面,方便用户监控和管理索引、查询和服务器状态。 1.3 Solr服务原理 1.3.1 索引 索引是Solr的核心功能,它将数据转化为倒排索引,以快速响应查询请求。索引过程包括分析、存储和建立倒排索引。 1.3.2 搜索 搜索是通过查询解析器和评分函数实现的,查询结果按相关性排序返回。 **二、Solr的安装与配置** 2.1 在Tomcat下Solr安装 2.1.1 安装准备 2.1.2 安装过程 2.1.3 验证安装 2.2 中文分词配置 包括mmseg4j和paoding两种分词器的配置方法。 2.3 多核(MultiCore)配置 Solr的多核配置允许在一个实例中管理多个独立的搜索应用。 2.4 配置文件说明 主要讨论schema.xml和solrconfig.xml这两个核心配置文件的作用和配置项。 **三、Solr的应用** 3.1 SOLR应用概述 介绍Solr的应用场景和使用流程。 3.2 一个简单的例子 包括Solr Schema设计、构建索引和搜索测试。 3.3 搜索引擎的规划设计 3.3.1 定义业务模型 3.3.2 定制索引服务 3.3.3 定制搜索服务 3.4 搜索引擎配置 3.5 如何进行索引操作? 3.5.1 基本索引操作 3.5.2 批量索引操作 3.6 如何进行搜索 3.6.1 搜索语法 3.6.2 排序 3.6.3 字段增加权重 3.6.4 Solr分词器、过滤器、分析器 3.6.5 Solr高亮使用 **四、SolrJ的用法** SolrJ是Solr的Java客户端库,用于与Solr服务器通信。 4.1 搜索接口的调用实例 4.2 Solrj的使用说明 4.2.1 Adding Data to Solr 4.2.2 Directly adding POJOs to Solr 4.2.3 Reading Data from Solr **五、Solr的实际应用测试报告** 5.1 线下压力测试报告 5.2 线上环境运行报告 **六、Solr性能调优** 6.1 Schema Design Considerations 6.2 Configuration Considerations 6.3 Cache autoWarm Count Considerations 6.4 Cache hit rate 6.5 Explicit Warming of Sort Fields 6.6 Optimization Considerations 6.7 Updates and Commit Frequency Tradeoffs 6.8 Query Response Compression 6.9 Embedded vs HTTP Post 6.10 RAM Usage Considerations 6.10.1 OutOfMemoryErrors 6.10.2 Memory allocated to the Java VM **七、FAQ** 解答关于Solr使用过程中可能遇到的问题,如乱码和查不到结果的排查方法。 这个SOLR应用教程涵盖了从基础概念到实际应用,包括安装配置、索引和搜索操作、SolrJ的使用以及性能优化等多个方面,为读者提供了一个全面了解和掌握Solr的路径。
剩余57页未读,继续阅读
- wyunsh51682015-02-10挺好的教程,正在学习中,很好的文档
- u0121468242016-01-26还不错,可以看看
- 滴墨成殇2017-03-22文档写的不错 很清楚
- ainubis2014-05-30SOLR的应用教程
- 粉丝: 1
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助