目录

solr基础教程之一Solr相关知识点串讲

目录

【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 启动搜索引擎时,服务器按照以下顺序导入配置: (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。 https://img-blog.csdn.net/20140715125146343?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamVkaWFlbF9sdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center 1、solr.xml 与整个搜索引擎相关的配置。 2、solrconfig.xml。 与某个core相关的主要配置,如定义updatehandler用于索引文件,requesthandler用于搜索内容等。 https://img-blog.csdn.net/20140715125452204?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamVkaWFlbF9sdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center https://img-blog.csdn.net/20140715125228250?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamVkaWFlbF9sdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center 3、schema.xml 定义了某类型文档的索引格式。 4、core.properties 记录了一个core的基本信息,除一个name为必备属性外,其余均为可选。 https://img-blog.csdn.net/20140715125430192?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamVkaWFlbF9sdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center https://img-blog.csdn.net/20140715125208140?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamVkaWFlbF9sdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center 二、索引 索引,是将文档中的内容经过分析后,形成一个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。 三、分析 四、索引 五、扩展功能