全文索引----solr入门

一 Apache Solr介绍

    1 solr是什么?
    solr是一个独立的企业级搜索应用服务器,他对外提供类似webservice的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引,也可以通过http get 请求提出查找请求,并得到XML格式的返回结果。
    2 特点
    solr是一个高性能,基于lucene的全文搜索服务器;高效、灵活的缓存功能,垂直搜索功能,通过索引复制提高可用性,提供一套data schema来定义字段,类型和设置文本分析,提供基于web的管理界面。
    3 工作方式
    文档利用http协议利用XML加载到一个搜索集合中。查询该集合也是通过http协议收到一个XML、json响应来实现。
二 搭建solr服务器
    1 服务器
    solr服务器可以搭建在Windows、linux等通用服务器上
    2 环境
    需要Java1.5或更高版本虚拟机,需要配置jdk;
    3 去官网下载solr压缩包,然后直接解压到服务器中。
    4 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 客户端。
    src/test :Solr 的测试源码和测试文件。
    src/webapp :Solr web 管理界面。管理界面的Jsp 文件都放在web/admin/ 下面,可以根据你的需要修改这些文件。
    Solr 的源码没有放在同一个目录下,src/java 存放大多数文件,src/common 是服务器端与客户端公用的代码,src/test 放置solr 的测试程序,serlvet 的代码放在src/webapp/src 中。
Solr 主目录结构
    一个运行的Solr 服务其主目录包含了Solr 的配置文件和数据(Lucene 的索引文件)
    5 Solr 的主目录展开后为如下结构:
    bin :建议将集群复制脚本放在这个目录下。
    conf :放置配置文件。
    conf/schema.xml :建立索引的schema 包含了字段类型定义和其相关的分析器。
    conf/solrconfig.xml :这个是Solr 主要的配置文件。
    conf/xslt :包含了很多xslt 文件,这些文件能将Solr 的XML 的查询结果转换为特定的格式,比如:Atom/RSS。
    data :放置Lucene 产生的索引数据。
    lib :放置可选的JAR 文件比如对Slor 扩展的插件,这些JAR 文件将会在Solr 启动时加载。
三 测试solr服务
    1 启动solr服务
    在解压的项目目录example有start.jar文件,启动:
    java -jar start.jar

    浏览器访问:http://localhost:8983/solr/,你看到的就是solr的管理界面。

    2 添加数据
    服务启动后,没有任何数据,我们需要添加一些测试数据,通过POSTing命令向solr服务器添加一个XML文档,解压项目目录exampledocs目录总包含实例文件,运行命令:
    java -jar post.jar solr.xml monitor.xml

    查看文件内容如下:

扫描二维码关注公众号,回复: 2792343 查看本文章

    3 测试
    

    点击页面左下角的Execute Query按钮后右侧就会显示查询结果,这个结果就是按照条件查询的结果。

     4 使用http get请求访问

      我们前面提到了,这个查询相当于一个http get请求,也就是我们相当于我们通过一个地址访问了solr服务器,访问地址就是通过查询条件拼接出来的,拼接内容如下:

    http://192.168.22.216:8983/solr/select?q=name:3007WFP

    访问此地址,结果如下图:

声明:如无特殊声明,本系列博客以solr-4.7.2版本为例,如有错误,敬请斧正。

猜你喜欢

转载自blog.csdn.net/u010942465/article/details/51253549
今日推荐