APACHE SOLR介绍

Solr -企业级搜索引擎

2011-03

Solr –企业级搜索引擎

?lucene回顾

?solr简介

?认识solr

?集成solr

?扩展solr

?solr使用场景

Solr –企业级搜索引擎

?lucene回顾

?solr简介

?认识solr

?集成solr

?扩展solr

?solr使用场景

Lucene 回顾

用Java编写的全文信息检索工具包,提供了基本的API 使用倒排索引技术,极大提高了检索效率

让最相关的头100条结果满足98%以上用户的需求

Score = tf* idf* lengthNorm

org.apache.lucene.document、analysis、index、search 应用jive、eclipse、linkedin(bobo、zoie)、twritter(NRT)

Lucene 回顾

Lucene索引结构

?Segment

?Document

?Filed

?Term

lucene搜索原理

?分词、中文分词

机械分词:一元、二元、基于词库的分词

?未登录词识别:机构名、人名、神马

?歧义词

基于统计:HMM

?样本

?索引

国家:{1,3,6,8,}

上海:{3,7,16,17}

法规:{1,6}

人民:{3,9,16,20}

?搜索

1.搜索:上海人民

2.解析为:’上海’ and ‘人民’ ,表示搜索同时出现’上海‘和’人民’的文档

3.可以搜索出第3 和第16篇文档

Solr –企业级搜索引擎

?lucene回顾

?solr简介

?认识solr

?集成solr

?扩展solr

?solr使用场景

Solr历史

2004年CNET开发Solar,为CNET提供站内搜索服务

2006年1月捐献给Apache ,成为Apache的孵化项目

一年后Solr孵化成熟,发布了1.2版,并成为Lucene的子项目

2010年6月solr发布了最新的1.4.1版,这是1.4的bugfix版本

如今Solr已经广为人知,并且许多公司都已经使用Solr去构建自己的搜索引擎:

AOL、Disney、Apple, Inc、阿里巴巴、安居客……

什么是Solr

Search on lucene w/Replication

一个基于Lucene的全文搜索服务器

提供了基于Http的Rest-like操作接口

高可扩展的开放架构

提供了强大的WEB管理界面

有多种客户端:Ruby 、PHP 、Java 、Python 、.NET 、Perl 、JavaScript 索引复制

更方便的使用停用词、同义词等

易于集成、几乎不用写代码就能适应一般的需求

Solr feature list

提供了丰富的查询缓存

很容易的为本地以及远程的数据创建索引,DataImportHandler 对Rich Document(word、pdf、ppt……)进行解析和创建索引

快速增量更新索引,并复制到其他机器上

层面搜索

More like this、Spelling suggestions、Auto-suggest……

高度的可扩展性

NearRealtimeSearch

Solr 可扩展的插件

SolrRequestHandler

Highlighting

QueryResponseWriter

Similarity

CacheRegenerator

Analyzer

SolrEventListener

UpdateHandler

Solr Core Solr Architecture

Lucene

Admin Interface Standard Request Handler Custom Request Handler Update

Handler

Caching

XML

Update

Interface

Config Analysis HTTP Request Servlet Concurrency

Update Servlet

XML

Response Writer Replication Schema

Solr –企业级搜索引擎

?lucene回顾

?solr简介

?认识solr

?集成solr

?扩展solr

?solr使用场景

认识Solr

Solr 安装

Solr 自带示例, 索引与搜索(增删改查)

Solr admin page

配送地址库搜索示例(DataImportHandler)

Solr –企业级搜索引擎

?lucene回顾

?solr简介

?认识solr

?集成solr

?扩展solr

?solr使用场景

集成Solr

与java应用集成文档

?CommonsHttpSolrServer

?EmbeddedSolrServer .net

?SolrNet

?SolrSharp

Javascript

?JQuery Autocomplete

?SolrJs

Others

?Php

?Ruby on rails

?Perl

?Python

Solr –企业级搜索引擎

?lucene回顾

?solr简介

?认识solr

?集成solr

?扩展solr

?solr使用场景

扩展Solr 之水平扩展

?由于高并发导致响应速度变慢

时,可以选择对solr进行水平扩

展。

?通过Solr的Replication将索引复

制到多台服务器上

?对多台search Server做load

balance

扩展Solr 之Sharding

?由于索引文件过大时,并且

在并发不高的情况下,访问

速度变慢。可以考虑将索引

文件进行切分并分布式部署,

使用Solr的DistributtedSearch

进行搜索。

相关主题
相关文档
最新文档