Solr 整合

1. Solr 与 Lucene 的区别

  • Lucene是一个开发源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene 提供了完整的查询引擎
    和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者以
    Lucene 为基础构建全文检索引擎;
  • Solr 的目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过 Solr 可以非常快速的
    构建企业的搜索引擎,通过 Solr 也可以高效的完成站内搜索功能;

1.1 Solr 文件夹结构

  • bin: solr 的运行脚本;
  • contrib: solr 的插件,用于增强 solr 的功能;
  • dist: 该目录包含 build 过程中产生的 war 和 jar 文件, 以及相关的依赖文件;
  • docs: 文档;
  • example
    • example/solr: 包含了默认配置信息的 Solr 的 Core 目录;
    • example/multicore: 包含了在Solr的 multicore 中设置的多个 Core 目录;
    • example/webapps: 包含了 solr.war, 该 war 可作为solr的运行实例工程;

2. Solr 整合 tomcat

2.1 Solr Home 与 SolrCore

  • SolrHome 是 Solr 运行的主目录,目录中包括了运行 Solr 实例所有的配置文件和数据文件, Solr 实例就是 SolrCore,
    一个 SolrHome 可以包括多个 SolrCore(Solr 实例), 每个SolrCore提供单独的搜索和索引服务;
  • example/solr是一个 solr home 目录结构;
  • example/solr/collection1 是一个 SolrCore(Solr 实例)目录; 一个 solr 运行实例对外单独提供索引和搜索接口;
    • solrHome中可以创建多个solr运行实例(SolrCore);
    • 一个solr的运行实例对应一个索引目录;
    • conf是SolrCore的配置文件目录;
    • data目录存放索引文件需要创建的;

2.2 整合步骤

  1. 安装tomcat: "/Users/用户名/Documents/solr/apache-tomcat-7.0.82";
  2. 把"solr/solr-4.10.3/example/webapps/solr.war"复制到 "/apache-tomcat-7.0.82/webapps" 目录下,并解压;
    解压之后,删除 "solr.war";
  3. 把"solr/solr-4.10.3/example/lib/ext"目录下的所有jar包添加到"/apache-tomcat-7.0.82/webapps/solr/WEB-INF/lib"目录下
  4. 配置 solrHome 和 solrCore
    • 在 "/Users/用户名/Documents/solr"创建一个 solrhome 文件夹,将 "solr/solr-4.10.3/example/solr"
      目录下的内容复制到 solrhome 文件夹里面;
    • "/apache-tomcat-7.0.82/webapps/solr/WEB-INF/web.xml" 中进行配置 solrhome
  5. 启动 tomcat;
  6. 访问 "http://localhost:8080/solr/";

原文地址:https://www.cnblogs.com/linkworld/p/7828678.html