我们在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搜索服务器安装配置--资料备份
图解Solr5.3.1与MySQL配置【原创】
solr4.4.0入门配置步骤 solr4.4手把手入门配置 solr4.4配置 solr4.4.0入门配置步骤 solr4.4手把手入门配置 solr4.4配置
配置solr所需要的配置文件,这些配置文件要放到指定的目录下
SOLR HOME 相对路径配置 三种配置方式
Solr安装与配置 完整的solr配置步骤,带截图,说明很清晰。
solr+ tomcat 项目整合!
solr_3.5_配置及应用
solr4.1安装配置 IK分词器 solrJ简单操作 solr索引富文本
内容包含tomcat压缩包,IK分词器的jar ,和solr压缩包,和solr业务域的配置文件
solr5.4的mmseg4j的相关jar包,还有solr5.4的配置,按我的文档可以配置好solr 的java开发和导库存环境.
solr详细配置教程与solrj的使用
docker配置solr登录密码文件,内含配置密码的文件 、web.xml的文件 ,详情可以去看我的博客,博客地址:https://blog.csdn.net/huyande123/article/details/97110784
详细的tomcat和solr的配置安装过程
solr环境的详细配置,在tomcat环境下的配置,以及solr的用法
Apache Solr 6.5.1在Windows环境搭建服务器的实操笔记。(1)支持中文分词和拼音分词;(2)支持jdk 1.8.0_121
描述了solr安装与配置,后续将会更新solr的集群配置
这个资源包里面是由solr配置需要相关的jar包和资源文件和ik中文分词器外加一个solr入门测试项目
Solr安装配置 详细安装SOLR安装配置图片展示