每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件中使用:<uniqueKey>id</uniqueKey>进行描述。
Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。Solr是一个独立的企业级搜索应用服务器,目前很多企业运用solr开源服务。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。
它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。
Solr 程序包 的目录结构
build :在solr 构建过程中放置已编译文件的目录。
client :包含了一些特定语言调用Solr 的API 客户端程序,目前只有Ruby 可供选择,Java 客户端叫SolrJ 在src/solrj 中可以找到。
dist :存放Solr 构建完成的JAR 文件、WAR 文件和Solr 依赖的JAR 文件。
example :是一个安装好的Jetty 中间件,其中包括一些样本数据和Solr 的配置信息。
example/etc :Jetty 的配置文件。
example/multicore :当安装Slor multicore 时,用来放置多个Solr 主目录。
example/solr :默认安装时一个Solr 的主目录。example/webapps :Solr 的WAR 文件部署在这里。
src :Solr 相关源码。
src/java :Slor 的Java 源码。
src/scripts :一些在大型产品发布时一些有用的Unix bash shell 脚本。
src/solrj :Solr 的Java 客户端。s
rc/test :Solr 的测试源码和测试文件。
src/webapp :Solr web 管理界面。管理界面的Jsp 文件都放在web/admin/ 下面,可以根据你的需要修改这些文件。
Solr 的源码没有放在同一个目录下,src/java 存放大多数文件,src/common 是服务器端与客户端公用的代码,src/test 放置solr 的测试程序,serlvet 的代码放在src/webapp/src 中。
更多Apache相关技术文章,请访问Apache使用教程栏目进行学习!
以上就是Apache Solr是什么的详细内容,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)