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
   启动搜索引擎时,服务器按照以下顺序导入配置:
   (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。



    三、分析



    四、索引



    五、扩展功能
    

【solr基础教程之一】Solr相关知识点串讲的更多相关文章

  1. 【solr基础教程之中的一个】Solr相关知识点串讲

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

  2. CG基础教程-陈惟老师十二讲笔记

    转自 麽洋TinyOcean:http://www.douban.com/people/Tinyocean/notes?start=50&type=note 因为看了陈惟十二讲视频没有课件,边 ...

  3. 【solr基础教程之二】索引

    一.向Solr提交索引的方式 1.使用post.jar进行索引 (1)创建文档xml文件 <add> <doc> <field name="id"&g ...

  4. 【solr基础教程之二】索引 分类: H4_SOLR/LUCENCE 2014-07-18 21:06 3331人阅读 评论(0) 收藏

    一.向Solr提交索引的方式 1.使用post.jar进行索引 (1)创建文档xml文件 <add> <doc> <field name="id"&g ...

  5. 【solr基础教程之九】client

    一.Java Script 1.因为Solr本身能够返回Json格式的结果,而JavaScript对于处理Json数据具有天然的优势,因此使用JavaScript实现Solrclient是一个非常好的 ...

  6. 【solr基础教程之九】客户端

    一.Java Script 1.由于Solr本身可以返回Json格式的结果,而JavaScript对于处理Json数据具有天然的优势,因此使用JavaScript实现Solr客户端是一个很好的选择. ...

  7. 【solr基础教程之九】客户端 分类: H4_SOLR/LUCENCE 2014-07-30 15:28 904人阅读 评论(0) 收藏

    一.Java Script 1.由于Solr本身可以返回Json格式的结果,而JavaScript对于处理Json数据具有天然的优势,因此使用JavaScript实现Solr客户端是一个很好的选择. ...

  8. 【GStreamer开发】GStreamer基础教程16——平台相关的element

    目标 虽然GStreamer是跨平台的framework,但不是所有的element都是在所有平台下都有的.比如,音频和视频的sink都非常依赖于当前的window系统,根据当前的平台需要选择不同的e ...

  9. 【Python基础教程第2版】——第二讲:列表和元组

    引言: 什么是数据结构? 数据结果是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合.Python中最常用的数据结构是序列. Python包含6种内建的序列:列表和元组(最常用:列表可以修 ...

随机推荐

  1. win32下用VC扩展PHP全过程

    闲着无聊,打算开发一些PHP组件来玩玩,由于在家没有工作环境,遂打算在win32(我的环境是vista)用VC开发DLL模块,费话不 多说了,进入正题: 一.已经在机器上安装PHP环境的就略过,否则先 ...

  2. Effective Java2读书笔记-类和接口(三)

    第17条:要么为继承而设计,并提供文档说明,要么就禁止继承 第18条:接口优于抽象类 这两条中,提到了一个很重要的概念骨架实现.也就是说,抽象类实现接口的形式.这样的好处是,接口本来不能提供默认的实现 ...

  3. 一个很好的幻灯片效果的jquery插件--kinMaxShow

    在做一些网站时,或多或少的要给网站做幻灯片效果,以前每次做这个效果,都是现成带网上找,找到的很多很杂,而且用完后就不会再理会更加不会去总结代码. 无意中找到了kinMaxShow这个插件,机会满足了我 ...

  4. UESTC 75 The Queen's New Necklaces

    题意:一个项链的珠子的颜色有若干种.每种颜色的珠子个数为Ai.求有多少种不同的项链? 我们考虑,如果旋转i个珠子,那么会产生gcd(n,i)个循环节,每个循环节的大小我们假设为K,那么如果有一个颜色的 ...

  5. 用VS2013+VELT进行Linux开发

    快乐虾 http://blog.csdn.net/lights_joy/(QQ群:Visual EmbedLinux Tools 375515651) 欢迎转载,但请保留作者信息 1.1.1  什么是 ...

  6. 【转】UltraISO制作U盘启动盘安装Win7/9/10系统攻略

    U盘安装好处就是不用使用笨拙的光盘,光盘还容易出现问题,无法读取的问题.U盘体积小,携带方便,随时都可以制作系统启动盘. U盘建议选择8G及以上大小的. 下面一步一步讲解如果制作U盘安装盘: 1.首先 ...

  7. HDOJ-1016 Prime Ring Problem(DFS)

    http://acm.hdu.edu.cn/showproblem.php?pid=1016 题意:输入n,代表有一个包含n个节点的环,在环中的节点中填入1,2...n-1,n,要求填入的数与左边的数 ...

  8. WifiDog and OpenWrt

    $Id$ 2   3 OpenWRT specific README 4 ======================= 5   6 So, you want to run wifidog on on ...

  9. IO模型总结

    总结 幽默讲解 linux 的 Socket IO 模型(上)

  10. C# 制作 仪表

    以前在百度写的文档,转移到此处 前些天在做NetAnalyzer时,需要使用一个指针仪表,网上看了一下,也有人做过,但是大部分都是收费的,本着自力更生的原则,于是决定自己设计一个,今天拿出来有读者分享 ...