Solr
编辑本段简介
Solr是一个独立的
企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http G
et操作提出查找请求,并得到XML格式的返回结果;
编辑本段特点
Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的
全文搜索引擎。
文档通过Http利用XML 加到一个搜索集合中。查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,
高亮显示搜索结果,通过索引复制来提高可用
性,提供一套强大Data Schema来定义字段,类型和设置
文本分析,提供基于Web的管理界面等。
Apache Solr (读音: SOLer) 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件中使用:<uniqueKey>id</uniqueKey>
进行描述。
Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。
Lucene是一个使用Java语言写的全文检索开发包(API),利用它可以实现强大的检索功能,
//=========================================================================================
[Solr
的检索运算符
]
“:” 指定字段查指定值,如返回所有值*:* ²
“?” ² 表示单个任意字符的通配
“*” 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号) ²
“~” ² 表示模糊检索,如检索拼写类似于”roam”的项这样写:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录。
² 邻近检索,如检索相隔10个单词的”apache”和”jakarta”,”jakarta apache”~10
“^” ² 控制相关度检索,如检索jakarta apache,同时希望去让”jakarta”的相关度更加好,那么在其后加上”^”符号和增量值,即jakarta^4 apache
布尔操作符AND、|| ²
布尔操作符OR、 ² &&
布尔操作符NOT、!、- ² (排除操作符不能单独与项使用构成查询)
“+” 存在操作符,要求符号”+”后的项必须在文档相应的域中存在 ²
( ) 用于构成子查询 ²
² [] 包含范围检索,如检索某时间段记录,包含头尾,date:[200707 TO 200710]
{} ² 不包含范围检索,如检索某时间段记录,不包含头尾
date:{200707 TO 200710}
" 转义操作符,特殊字符包括+ - ² && || ! ( ) { } [ ] ^ ” ~ * ? : "
“:” 指定字段查指定值,如返回所有值*:* ²
“?” ² 表示单个任意字符的通配
“*” 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号) ²
“~” ² 表示模糊检索,如检索拼写类似于”roam”的项这样写:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录。
² 邻近检索,如检索相隔10个单词的”apache”和”jakarta”,”jakarta apache”~10
“^” ² 控制相关度检索,如检索jakarta apache,同时希望去让”jakarta”的相关度更加好,那么在其后加上”^”符号和增量值,即jakarta^4 apache
布尔操作符AND、|| ²
布尔操作符OR、 ² &&
布尔操作符NOT、!、- ² (排除操作符不能单独与项使用构成查询)
“+” 存在操作符,要求符号”+”后的项必须在文档相应的域中存在 ²
( ) 用于构成子查询 ²
² [] 包含范围检索,如检索某时间段记录,包含头尾,date:[200707 TO 200710]
{} ² 不包含范围检索,如检索某时间段记录,不包含头尾
date:{200707 TO 200710}
" 转义操作符,特殊字符包括+ - ² && || ! ( ) { } [ ] ^ ” ~ * ? : "
//=============================================================================================
JDK:JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。
//===============================================================================================
SolrNet 是 Solr 搜索平台的 .NET 客户端开发包。