solr

1.分布式全文检索(非实时同步db):站内搜索,使用传统的数据库查询方式无法满足一些高级的搜索需求(如搜索速度快,
    搜索结果按相关度排序,搜索内容格式不固定)
   a.单独使用lucene实现站内搜索:开发工作量大,表现在:索引维护、索引性能优化、
      搜索性能优化等,不建议采用
   b.通过第三方搜索引擎,对其依赖紧密,不方便扩展,不建议
   c.基于solr(基于lucene)实现搜索,扩展性好并且可减少开发人员的工作量,
      因为Solr提供了较完备的搜索引擎解决方案
   d.solr可独立运行Jetty、Tomcat等Servlet容器,用post方法向Solr服务器发送一个描述Field的Xml文档
2.安装:
   
    本地home安装路径:/root/soft/solr-4.10.3/example/solr
    拷贝对于的jar包到tomcat:cp * /root/soft/apache-tomcat-8.0.38/lib/
    解压:mkdir solr && unzip solr.war -d solr && rm -rf solr.war
    启动tomcat:
    
    访问管控台:http://192.168.50.12:8080/solr
    常见搜索关键词存放位置:/root/soft/solr-4.10.3/example/solr/collection1/conf/schema.xml
3.solr分词器(对数据源加工处理):
   索引结构:
    a.索引表:存放具体的词汇,词汇在哪些文档里存储,索引里存储的就是分词器分词之后的结果
    b.存放数据(文档信息集合)
   用户搜索时:词库采用倒排序索引
4.无论是Solr还是lucene都对中文分词不太好,因此对索引中文需要使用IK中文分词器
  

5.在Solr和Lucene中,使用一个或多个Document来构建索引,Document包括一个或多个Field.Field包括名称、
   内容以及告诉Solr如何处理内容的元数据。
   Indexed:Indexed Field可进行搜索和排序,还可运行Solr分析过程(可修改内容以改进或更改结果)
   Stored:Stored Field内容保存在索引中,对检索和醒目显示内容很有用,但对于实际搜索则不是必须的






























































posted on 2018-03-06 18:18  xiaojiayu0011  阅读(108)  评论(0)    收藏  举报

导航