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。
    三、分析
    四、索引
    五、扩展功能

转载于:https://www.cnblogs.com/brucemengbm/p/6898962.html

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

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

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

  2. java中使用tika_【Tika基础教程之中的一个】Tika基础教程

    一.高速入门 1.Tika是一个用于文本解释的框架.其本身并不提供不论什么的库用于解释文本,而是调用各种各样的库,如POI,PDFBox等. 使用Tika.能够提取文件里的作者.标题.创建时间.正文等 ...

  3. Xamarin.FormsShell基础教程(9)Shell相关类体系

    Xamarin.FormsShell基础教程(9)Shell相关类体系 在Shell中,最为主要的类是Shell类.Shell类实现了大多数应用程序所需的基本UI功能的页面.除此以外,常用的类还有Sh ...

  4. 前端知识基础之Vue知识点串讲

    一.Vue知识点串讲 复习一下Vue中的核心知识点. 复习完基本的知识点以后,后面再来看一下其它的面试内容 1.基本使用 下面,先来看一段最简单的代码,如下所示: <!DOCTYPE html& ...

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

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

  6. Solr基础教程之环境搭建(一)

    一.开篇一点概念 最近想深入研究下solr,顺便记录一些知识点,以供后来者. 1.Solr是什么东西 Solr是一种开放源码的.基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序 ...

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

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

  8. ae怎么做圆一圈圈扩散效果_轻备学院AE特效基础教程 - 如何制作一个带有动画效果村庄烟雾...

    熟练运用AE软件做几个偏技巧性并且可以举一反三的超简单小动画,教大家如何制作一个带有动画效果村庄烟雾,你学会了这些小动画,不仅可以熟练运用AE软件,还能对动画制作有深入的了解. 第一步:在AI中绘制插 ...

  9. 【spring教程之中的一个】创建一个最简单的spring样例

    1.首先spring的主要思想,就是依赖注入.简单来说.就是不须要手动new对象,而这些对象由spring容器统一进行管理. 2.样例结构 如上图所看到的,採用的是mavenproject. 2.po ...

  10. python文字教程-Python 爬虫零基础教程(3):输出一个网页上的文字

    效果图: 代码: # -*- coding: utf-8 -*- # Filename:print_text.py # 输出网页上的文字 import re import requests user_ ...

最新文章

  1. 让你的博士经历更加轻松愉快的10个tips
  2. Struts+2权威指南--基于WebWork核心的MVC开发源码下载
  3. JavaScript是如何工作的:与WebAssembly比较及其使用场景
  4. matlab光学远轴光的折射,光学课后习题
  5. Android 读取文件内容
  6. Don't Laugh!I'm An English Book笔记(五)——面部词语大总结加补充
  7. python求矩阵维度必须一致_python数据分析(二)--Numpy
  8. 程序员不努力,和咸鱼有什么分别?
  9. unity 草 可以一棵棵种吗?_5种多肉叶插成活率超高,养一棵成活一大片,种都没地方种...
  10. 阿里面试官:分别说说微信和淘宝扫码登录背后的实现原理?
  11. 机械硬盘和固态硬盘 检测 案例 ST4000VX015
  12. 重装系统后dell戴尔笔记本电脑插入耳机没有声音
  13. mysql数据的查寻练习
  14. GROMOS拓扑(、坐标、轨迹、能量)相关文件解读手册第5章阅读笔记II
  15. 什么是CDN,简单了解CDN
  16. GPC规范--安全域基础概念
  17. photoshop中如何在6寸相纸上打印1寸照片10张2X5模式(自动填充模式)
  18. PCIe系列专题之二:2.5 Flow Control缓存架构及信用积分
  19. 恐怖啊,MD5已经被真实情况下破解了
  20. 我的电脑不显示u盘解决方法

热门文章

  1. 大师兄科研网_挑战杯经验分享会与你话科研
  2. MySQL创建新连接时,不能成功连接的问题
  3. mysql学习资料_PHP程序员2020学习方向:高并发、性能调优、分布式、微服务...
  4. 探访蔚来合肥工厂:是ES8与ES6生产基地 能年产10万台
  5. java服务器客户端程序在联机运行时被防火墙拦截
  6. Linux下如何查看高CPU占用率线程 专题
  7. WordPress 实用SEO插件总结
  8. 批量下载 Windows 零散系统更新的得力工具 -Windows Updates Downloader
  9. 1月3日 升 级gazebo7
  10. 条件随机场、CBOW、word2vect、skip-gram、负采样、分层softmax(1)