solr架构图:

以下是Apache Solr的主要构建块(组件)

  • 请求处理程序 - 发送到Apache Solr的请求由这些请求处理程序处理。请求可以是查询请求或索引更新请求。根据这些请示的要求来选择请求处理程序。为了将请求传递给Solr,通常将处理器映射到某个URI端点,并且它将为指定的请求提供服务。
  • 搜索组件 - 搜索组件是Apache Solr中提供的搜索类型(功能)。它可能是拼写检查,查询,构面,命中突出显示等。这些搜索组件被注册为搜索处理程序。多个组件可以注册到搜索处理程序。
  • 查询解析器 − Apache Solr查询解析器解析传递给Solr的查询,并验证查询的语法是否有错误。解析查询后,将它们转换为Lucene理解的格式。
  • 响应写入器 - Apache Solr中的响应写入器是为用户查询生成格式化输出的组件。 Solr支持XML,JSON,CSV等响应格式。对每种类型的响应都有不同的响应写入。
  • 分析器/分词器 - Lucene以令牌的形式识别数据。 Apache Solr分析内容,将其分成令牌,并将这些令牌传递给Lucene。 Apache Solr中的分析器检查字段的文本并生成令牌流。分词器将分析器准备的令牌流分解成令牌。
  • 更新请求处理器 - 每当向Apache Solr发送更新请求时,请求都通过一组称为更新请求处理器的插件(签名,日志记录,索引)运行。这个处理器负责修改,例如删除字段,添加字段等。

solr的特性:

solr是读主导的:并非说solr是不支持批量写入的,只是对于solr来说,一般的使用场景是,读操作要远远多于写操作的场景。

不要将solr用于:

  • 不适合一次性返回大量数据。
  • 不适合执行深度分析任务。
  • 不支持复杂关系关联查询。

solr局限:

无法执行join操作。

数据是冗余的。可能产生大量修改的情况。

可以方便的对文档进行增删改,但是不能对字段轻易的做这种处理。

solrcloud不支持自动重新分片内容和增加索引副本的数量,从而动态的处理内容增长和查询负载。

最新文章

  1. 中文分词工具探析(一):ICTCLAS (NLPIR)
  2. Java多线程5:synchronized锁方法块
  3. [Tex学习笔记]积分平均
  4. Selenium2+python自动化12-操作元素(键盘和鼠标事件)
  5. matlab R2016b 设置界面为英文
  6. RTLviewer与TechnologyMapViewer的区别?
  7. 插件化—配置xml的辅助测试
  8. mysql的注释
  9. 所谓编码--泛谈ASCII、Unicode、UTF8、UTF16、UCS-2等编码格式
  10. windows下 cmd 界面的替代者 cmder 推荐!
  11. css之positon与z-index
  12. java 调用c# web api 代码
  13. 20170506计划-----(基于python查询oracle语句)
  14. AX_Query
  15. jquery 3.4.0
  16. MySQL出现Access denied for user ‘root’@’localhost’ (using password:YES)
  17. Java入门系列(九)Java API
  18. 织梦导航条dropdown.js的改进(2013-7-10)
  19. USB gadget 驱动 printer.c 分析
  20. 给ubuntu系统的root设置密码:

热门文章

  1. e4a 记录
  2. zping ping包工具20180605.exe测试版
  3. SpringBoot默认日志的使用方法及常用配置
  4. windows ping命令
  5. windows 安装jenkins
  6. stalstack
  7. spark内核篇-task数与并行度
  8. react 深度 循环嵌套对象渲染问题 map
  9. intelliJ idea安装go开发环境 并 搭建go项目 打包
  10. merge into使用方法