`
p2p2500
  • 浏览: 11384 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

Solr源码概要

    博客分类:
  • Solr
 
阅读更多

Solr源码概要


1. 总体结构

Solr程序是作为WebApp部署到像 Tomcat这样的容器中的。每一个Solr WebApp对应着一个Solr.home;该目录的结构如下:

├─bin
├─collection1           <--- 一个core,其中collection1为core的名称。
│  ├─conf               <--- 存放该core配置文件的目录,最重要的是solrconfig和schema文件       
│  │  ├─solrconfig.xml  <--- 对该core的整体配置
│  │  ├─...
│  │  └─schema.xml      <--- 定义索引结构,filed和filedtype
│  ├─data               <--- 存放索引的目录  
│  └─core.properties    <--- 标志该目录为core的文件,其中name属性定义了core的名称。
│      
├─zoo.cfg
└─solr.xml              <--- 在非集群模式下,忽略该配置;里面定义了集群模式下的一些高级选项。 

 

solr.home的配置有四种方式:

  1. 在web.xml文件中:
    <env-entry>
         <env-entry-name>solr/home</env-entry-name>
         <env-entry-value>D:\solr\solr-home(solr.home的路径)</env-entry-value>
         <env-entry-type>java.lang.String</env-entry-type>
        </env-entry>
     
  2. 通过Tomcat的JNDI方式(JNDI: via java:comp/env/solr/home):在tomcat安装路径下:conf/Catalina/localhost目录下新建任意一个xml文件,例:solr.xml
       <Context docBase="webapp的部署路径(the_path_to solr.war)" debug="0" crossContext="true" >
           <Environment name="solr/home" type="java.lang.String" value="C:/example2/solr(the_path_to_solr_home)" override="true" />
        </Context>
  3. tomcat启动JAVA_OPTS参数中:在tomcat的根目录下,找到bin/catalina.bat 在JAVA_OPTS选项中添加,如windows下,可在最前面加入一行:
    set JAVA_OPTS -Dsolr.solr.home=C:/example2/solr
  4. 使用程序当前目录

          源码参见org.apache.solr.core.SolrResourceLoader#locateSolrHome

2. 对Solr的请求

用户对Solr应用程序的请求都会被一个名为:SolrRequestFilter的拦截器拦截,定义如下:

   <filter>
      <filter-name>SolrRequestFilter</filter-name>
      <filter-class>org.apache.solr.servlet.SolrDispatchFilter</filter-class>
    </filter>

    <filter-mapping>
      <filter-name>SolrRequestFilter</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>

 

Solr请求:

  1. /admin/cores

    该请求由CoreAdminHandler处理,获取当前所有core的信息

  2. /admin/collections

    该请求由CollectionsHandler处理,仅在Cloud模式下使用,获取当前集群信息

  3. /admin/info

    该请求由InfoHandler处理

  4. /[core_name]/schema

    • 如果省略,则会使用默认collection1作为core 名称
    • 获取core的schema配置信息
  5. //[core_name]/[requestHandle_name]

    • 如果省略,则会使用默认collection1作为core 名称
    • 更handler名称交由该core下的requestHandler处理,如:
      • select
      • dataimport
      • ......

以上。

分享到:
评论

相关推荐

    solr-6.2.0源码

    通过分析Solr 6.2.0的源码,我们可以深入了解其内部工作机制,包括索引构建、查询处理、分布式协调等核心模块。源码中包含了丰富的注释和示例,帮助开发者深入理解Solr的设计思想和实现细节。 总结来说,Solr 6.2.0...

    lucene-solr源码,编译成的idea项目源码

    本人用ant idea命令花了214分钟,35秒编译的lucene-solr源码,可以用idea打开,把项目放在D:\space\study\java\lucene-solr路径下,再用idea打开就行了

    solr源码及文档

    solr全文检索,里面包含文档,源代码,jar包,使用的是solr4.2,东西比较全,安装文档就能跑起来,,适合参考借鉴

    Solr 源码包Part2

    Solr的安装部署包,只能分卷上传,稍后上传依赖jar包,及部署攻略

    solr6.6.0源码

    这个源码包包含了 Solr 的所有源代码,对于理解 Solr 的工作原理、进行二次开发或者定制化配置有着非常重要的意义。接下来,我们将深入探讨 Solr 6.6.0 中的一些关键知识点。 一、Solr 架构与组件 Solr 的核心架构...

    solr(solr-9.0.0-src.tgz)源码

    源码分析是深入理解一个软件系统工作原理的重要途径,对于Solr这样的复杂系统尤其如此。这里我们将围绕"solr-9.0.0-src.tgz"这个源码包,详细探讨其主要组成部分、核心功能以及开发过程中的关键知识点。 1. **Solr...

    solr 4.10源码

    这个源码包包含了Solr 4.10.4的所有源代码,对于开发者来说,这是一个深入了解Solr工作原理、定制功能以及进行二次开发的重要资源。 1. **Solr简介** Apache Solr是一个基于Lucene的全文检索服务,提供了一个高效...

    solr源码搜索引擎

    基于lucene的企业级搜索引擎。是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。...也可以通过Http G Solr et操作提出查找请求,并得到XML格式的返回结果。仅仅从官方提取的源码。

    Solr项目源码及solr资源包

    Solr项目源码及solr资源包是一个针对搜索引擎平台Apache Solr的学习与实践资源集合,主要结合了Spring Data Solr框架进行操作。这个项目旨在帮助开发者更好地理解和运用Solr进行数据索引和检索。让我们详细地探讨...

    Solr 源码包Part3

    Solr安装部署包,稍后上传配套部署攻略,并赋依赖jar包

    solr-4.5源码包

    在这个源码包中,我们可以深入理解Solr的工作原理以及其核心组件的实现。 首先,让我们了解Solr的基本架构。Solr基于Lucene库构建,Lucene是一个高性能、全文本检索库。Solr在其之上添加了分布式处理、集群管理、...

    solr-5.2.1.part1.rar 编译第1部分,共2部分

    Solr源码在MyEclipse下的搭建 1. 下载并按装Ant 下载地址: http://ant.apache.org/bindownload.cgi Ant环境变量配置: ANT_HOME: E:\Program Files\apache-ant-1.9.0 Path: %ANT_HOME%\bin 在cmd中输入ant -v...

    Solr-search过程源码分析

    在深入探讨Solr-search过程的源码分析时,我们聚焦于关键步骤与核心组件,以求全面理解Solr搜索机制的内部运作。Solr作为一款高性能、可伸缩的开源搜索平台,其搜索处理流程涉及多个层次的组件交互与数据处理,其中...

    solr-5.2.1-src.tgz源码

    Solr源码在MyEclipse下的搭建 1. 下载并按装Ant 下载地址: http://ant.apache.org/bindownload.cgi Ant环境变量配置: ANT_HOME: E:\Program Files\apache-ant-1.9.0 Path: %ANT_HOME%\bin 在cmd中输入ant -v...

    maven 搭建solr4.2源码环境

    maven 整合solr4.2环境,另外整合了solr-data-import源码环境,资源10分,十分不贵!有需要的朋友请下载吧。花了我3个小时的时间整理的。下载后,使用maven导入即可使用,升级solr版本也比较方便。本环境使用了...

    Solr 源码包Part1

    只能分卷上传,抱歉,稍候上传部署文档,以及依赖Jar包

    bhl_rails_solr-源码.rar

    《深入解析bhl_rails_solr源码》 在当今的Web开发领域,Rails框架以其高效、简洁的设计理念,深受开发者喜爱。同时,Solr作为一款强大的全文搜索引擎,被广泛应用于各类复杂的数据检索场景。当这两者结合时,便诞生...

    solr5的ik中文分词器源码

    本文将深入探讨"solr5的ik中文分词器源码"的相关知识点。 1. **IK分词器概述**: IK分词器是针对Java开发的,它具有较高的分词精度和良好的可扩展性。IK分词器最初由王吉伟开发,现在由社区维护。它支持自定义词典...

    SpringBoot整合Solr案例源码

    SpringBoot整合Solr案例源码提供了在Java应用中使用Spring Boot框架与Apache Solr搜索引擎集成的实例。这个案例旨在帮助开发者理解如何在Spring Boot项目中配置、使用Solr,以便进行高效的数据搜索和分析。 首先,...

    毕业设计基于Springboot的个人博客系统源码,集成solr服务器.zip

    毕业设计基于Springboot的个人博客系统源码,集成solr服务器毕业设计基于Springboot的个人博客系统源码,集成solr服务器毕业设计基于Springboot的个人博客系统源码,集成solr服务器毕业设计基于Springboot的个人博客...

Global site tag (gtag.js) - Google Analytics