我们在solr已安装有的前提下配置一个新的solr项目。
- 假设solr解压时的目录为SOLR_SET目录;
- 假设solr存放数据的位置是SOLR_HOME目录;
- 假设tomcat目录是TOMCAT_HOME目录。
- 首先将SOLR_SET/example/ 下的整个 solr 文件夹拷贝到 SOLR_HOME 目录下,并更名为你项目需要的名字,比如我的叫 gene。
- 修改 SOLR_HOME/conf/solrconfig.xml 文件
需要更改的地方如下:
<dataDir>${solr.data.dir:SOLR_HOME/gene/data}</dataDir>
这主要指明该项目索引数据放的位置
需要添加的内容如下:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> <lst name="defaults"> <str name="config">data-config.xml</str> </lst> </requestHandler>
这是加入导入数据的功能,并且指明数据源配置文件的位置,这里是当前目录下的data-config.xml文件
3. 配置数据源配置文件SOLR_HOME/conf/data-config.xml
需要有以下内容:
<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/gene" user="root" password=""/> <document name="content"> <entity name="pmc" query="select PMCID,TITLE,ABS,VENUE from pmc" deltaImportQuery="select PMCID,TITLE,ABS,VENUE from pmc where LAST_MODIFIED > '${dataimporter.last_index_time}'" deltaQuery="select PMCID from pmc where LAST_MODIFIED > '${dataimporter.last_index_time}'"> <field column="PMCID" name="id" /> <field column="TITLE" name="pmctitle" /> <field column="ABS" name="pmcabs" /> <field column="VENUE" name="pmcvenue" /> <entity name="author" query="select NAME from author where PMCID='${pmc.PMCID}'"> <field column="NAME" name="authorname" /> </entity> </entity> </document> </dataConfig>
其中<dataSource>标签用来配置数据源信息。<entity>标签用来配置实体,属性query是从数据库中导入哪些字段的sql语句,deltaImportQuery 和 deltaQuery 是用来配置增量导入时使用的sql语句,${dataimporter.last_index_time} 是solr保存的上次索引建立的时间,增量导入的原理就是比较最近一次索引的时间和数据库中某记录最后更新的时间,所以数据库中应该有一个记录更新时间的字段LAST_MODIFIED 类型是timestamp 。<entity>标签中还可以嵌套<entity>来表现一对多关系。
4. 配置SOLR_HOME/conf/schema.xml 文件
内容如下:
<?xml version="1.0" encoding="UTF-8" ?> <schema name="example" version="1.4"> <types> <fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/> <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/> <fieldType name="text" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType> <fieldType name="date" class="solr.TrieDateField" omitNorms="true" precisionStep="0" positionIncrementGap="0"/> </types> <fields> <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="pmctitle" type="string" indexed="true" stored="true" /> <field name="pmcabs" type="string" indexed="true" stored="true" /> <field name="pmcvenue" type="string" indexed="true" stored="true" /> <field name="authorname" type="string" indexed="true" stored="true" multiValued="true"/> <fields> <uniqueKey>id</uniqueKey> <defaultSearchField>contents</defaultSearchField> <copyField source="id" dest="contents"/> <copyField source="pmctitle" dest="contents"/> <copyField source="pmcabs" dest="contents"/> <copyField source="pmcvenue" dest="contents"/> <copyField source="authorname" dest="contents"/> <solrQueryParser defaultOperator="AND"/> </schema>
5. 在TOMCAT_HOME/conf/Cataline/localhost 下建立gene.xml文件(注意这里的xml文件名一定要与你的solr名字相同,我这里叫gene)
内容如下:
<?xml version="1.0" encoding="utf-8"?> <Context docBase="SOLR_SET/dist/apache-solr-3.3.0.war" debug="0" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="SOLR_HOME/gene" override="true"/> </Context>
6. 因为这里使用了从数据库导入数据的方式,所以需要将数据库的驱动jar包,我这里是mysql-connector-java-5.1.13.jar 以及前面配置的DataImportHandler类的jar文件,我这里是apache-solr-dataimporthandler-3.3.0.jar 放到新生成的solr项目gene 的TOMCAT_HOME/webapps/gene/WEB-INF/lib 目录下(否则会出现Error loading class 的错误),启动Tomcat,打开浏览器输入http://localhost:8080/gene/admin/index.jsp 出现如下,说明配置成功。
7. 数据导入,该部分查看solr使用手册等资料(略)
相关推荐
### Solr搜索服务器安装配置详解 #### 一、Solr简介 Apache Solr是一款开源的高性能全文搜索引擎,...通过本文的学习,读者应该能够掌握如何成功地安装和配置Solr搜索服务器,从而为自己的项目提供强大的搜索功能。
本文将详细介绍如何进行 Solr 的安装与配置。 首先,安装 Solr 需要先确保你的系统已经安装了 Java Development Kit (JDK) 1.6 或以上版本,因为 Solr 需要依赖 JDK 来运行。你可以从 Oracle 的官方网站下载并安装...
### 图解Solr5.3.1与MySQL配置详解 #### 一、Solr与MySQL集成概述 在本文中,我们将详细介绍如何配置Solr 5.3.1与MySQL数据库的集成,以便实现高效的数据搜索功能。Solr是一款高性能、可伸缩的企业级搜索引擎,它...
在Solr,一个基于Lucene的全文搜索服务器,配置`SOLR_HOME`是至关重要的步骤,因为它决定了Solr实例的数据存储...在实际使用中,根据项目规模、团队协作及系统管理的复杂性来选择合适的`SOLR_HOME`配置方式至关重要。
总之,Solr+Tomcat项目整合涉及到Solr核心的创建和配置、Tomcat的War部署、端口配置以及通过API与Solr交互等多个环节。这种整合提供了在Web环境中高效、灵活的全文搜索能力,广泛应用于网站搜索、数据分析、电子商务...
在 Solr 8 中,为了确保系统的安全性和数据的隐私性,配置用户登录验证是非常重要的步骤。本文将详细介绍如何对手动配置 Solr 8 的用户登录验证。 首先,我们需要了解 Solr 的安全组件——Jetty 容器。Solr 默认...
在Solr中,配置文件是至关重要的,它们决定了Solr的行为和性能。以下将详细介绍`solr所需配置文件`及其作用。 1. **solrconfig.xml**: 这是Solr的核心配置文件,定义了索引和查询的处理方式。例如,它包含了索引...
Solr4.4.0是Solr的一个版本号,本篇文章将介绍如何安装和配置Solr4.4.0来搭建一个基本的搜索服务。 安装和配置Solr4.4.0通常包括以下步骤: 第一步,下载Solr4.4.0安装包。可以通过访问Solr的官方网站下载相应的...
下载 Solr 3.5 安装包并解压,然后配置 `solr/home` 目录,这个目录包含了 Solr 的核心配置文件。 2. **配置文件**:`solrconfig.xml` 是 Solr 的核心配置文件,用于定义索引、查询和其他操作的行为。`schema.xml` ...
"Tomcat 和 Solr 的配置安装过程" 在本文中,我们将详细介绍 Tomcat 和 Solr 的配置安装过程。Tomcat 是一个开源的 Web 服务器软件,而 Solr 是一个基于 Lucene 的搜索服务器。它们都是 Java 语言开发的,因此可以...
《mmseg4j-solr全版本与配置详解》 在大数据时代,搜索引擎技术成为信息检索的关键工具。其中,Solr作为一款强大的开源全文搜索引擎,广泛应用于各类信息系统的搜索功能。而mmseg4j则是Solr中常用的中文分词组件,...
【Solr入门配置说明】 Solr,全称为Apache Solr,是一个开源的、基于Java的企业级搜索应用服务器。它提供了一种高效、可扩展的全文检索能力,支持多种数据源,如XML、JSON等,通过HTTP接口进行通信,使得开发者能够...
在本文中,我们将详细探讨如何配置 Solr 5.4 开发环境,包括安装、配置、以及数据导入,同时也会提及 mmseg4j 分词器的使用。 首先,让我们了解 mmseg4j。这是一款适用于Java的中文分词库,它能够有效地对中文文本...
在本压缩包中,包含了Solr运行所需的一些关键组件,包括Tomcat服务器、IK分词器以及Solr自身的配置文件。下面将详细介绍这些组件及其在Solr中的作用。 首先,Tomcat是一个流行的Java应用服务器,常被用作部署...
### Solr安装与配置知识点详解 #### 一、Solr简介 Solr是一款开源的、高性能的全文搜索引擎,广泛应用于企业级搜索系统中。它基于Lucene开发,并提供了丰富的功能和扩展性,支持多种数据源索引和检索,能够轻松地...
- 添加SolrJ库所需的JAR包到项目构建路径,以便进行Solr API操作。 2. **编写测试类**: - 创建一个Java类,导入必要的SolrJ库,实例化`SolrServer`对象,并进行索引添加、查询等操作。 - 示例代码如下: ```...
【课程大纲】第01讲 solr5简介第02讲 solr5之Schema第03讲 solr5之Solrconfig第04讲 solr5单机安装与配置第05讲 solrj基础(一)第06讲 solrj基础(二)第07讲 solrj之SolrBean第08讲 solrj语法详解第09讲 Solrj之...
【课程大纲】第01讲 solr5简介第02讲 solr5之Schema第03讲 solr5之Solrconfig第04讲 solr5单机安装与配置第05讲 solrj基础(一)第06讲 solrj基础(二)第07讲 solrj之SolrBean第08讲 solrj语法详解第09讲 Solrj之...