zoukankan      html  css  js  c++  java
  • 【solr基础教程之中的一个】Solr相关知识点串讲





           Solr是Apache Lucene的一个子项目。Lucene为全文搜索功能提供了完备的API。但它仅仅作为一个API库存在。而不能直接用于搜索。

    因此,Solr基于Lucene构建了一个完整的搜索引擎。它能够为搜索引擎加入文档。对文档内容进行分析,并为用户提供搜索功能,在此基础上提供了一个扩展功能,如hit highline, suggetion等。


          一、概述

      (一)基础内容
         1、Solr的版本与Lucene的版本保持一直,直到2014年7月,最新版本为4.9.0。

         2、Solr提供了一个example,能够简单高速的搭建起搜索环境。參见http://blog.csdn.net/jediael_lu/article/details/36419497
       (二)配置文件
        Solr的关键配置文件有下面三个:
        solr.xml—Defines properties related to administration, logging, sharding, and SolrCloud 
        solrconfig.xml—Defines the main settings for a specific Solr core
        schema.xml—Defines the structure of your index, including fields and field types
       启动搜索引擎时,server依照下面顺序导入配置:
       (1)从全局java系统属性中查看solr.solr.home,一般定义为:$SOLR_INSTALL/example/solr/。
       (2)搜索上述文件夹中哪个子文件夹中包括有 core.properties,每一个 core.properties相应一个core。
       (3)从 core.properties中找出name属性,其值作为一个core。
        (4)查找这个core以下的conf子文件夹。找到solrconfig.xml与schema.xml。
       


        1、solr.xml
        与整个搜索引擎相关的配置。
        2、solrconfig.xml。
        与某个core相关的主要配置,如定义updatehandler用于索引文件,requesthandler用于搜索内容等。
           


        3、schema.xml
        定义了某类型文档的索引格式。
       4、core.properties
        记录了一个core的基本信息,除一个name为必备属性外,其余均为可选。


       
     二、索引
        索引,是将文档中的内容经过分析后,形成一个Term---Document的映射,并将其写入索引文件的过程,即说明哪些文档中包含某个词汇。
    (一)向搜索引擎中提交文档的方法
    1、命令行方式
    使用example程序中提供的post.jar或者post.sh提供文档。它支持XML/JSON/CSV三种文件格式。

    如java -jar post.jar *.xml
    但本质上,它仅仅是将solr提供的API进行了封装。最核心的类为SimplePostTool。此类调用了SolrJ的接口。
    2、SolrJ
    使用solr提供的API。进行文档的加入。

    3、其他第三方工具
    (1)Data Import Handler (DIH)
    将外部数据导入Solr。如站点、关系型数据库等内容。
    (2)ExtractingRequestHandler, aka Solr Cell
    对Tika进行了封装。可用于导入富文本内容。如pdf,office等
    (3)Nutch
    抓取网页并将其导入solr。



        三、分析



        四、索引



        五、扩展功能

        
  • 相关阅读:
    通过反射实现IOC功能
    数据访问模式之Repository模式
    .NET自带IOC容器MEF之初体验
    权限管理系统进入关键的开发阶段
    待销售分拣单App数据推送
    做一个自己的权限管理系统
    linux tar 命令 --致力于“一眼看懂,随手就用”的随笔
    python 简单实现文件拷贝
    实验比较python中的range和xrange
    安装 chardet ,出现ImportError: No module named setuptools
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6898962.html
Copyright © 2011-2022 走看看