solr相关配置

这段时间突然让我接手solr这个搜索引擎,为了让自己以后方便查阅,故记录下solr整个部署过程。

1、先上官网下载源码 源码下载

2、因为我是用tomcat来部署solr的,所以事先下载好tomcat jdk并配置好环境。

3、解压solr,此时的文件应该是这样的

4、复制server/solr/solr-webapp目录下的webapp到tomcat的webapps目录下,并重命名为solr(名字随意)。如果不想放在tomcat目录下的话,选择一个盘符放好,并修改tomcat/conf/server.xml 找到

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

在里面加一条

<Context path="/solr" reloadable="true" docBase="D:\Java\solr_web" sessionCookieName="ksessionid" />

path填站点名称 docBase则选择solr所在的目录。

4、复制server\lib\ext下的jar到tomcat\webapps下的solr项目的WEB-INF\lib中。

5、复制server\lib下的所有带metrics的jar包到tomcat\webapps下的solr项目的WEB-INF\lib中。

6、在tomcat\webapps\solr(你的solr站点)目录下新建一个文件夹solrhome(名字可任意),所谓的solrhome目录实际上是一个运行的Solr实例所对应的配置和数据。我们建立的core都放在这个目录里。此时我们新建一个core文件夹,命名为jobseeker,并复制server\solr\configsets\_default目录下的conf文件夹到jobseeker这个目录里,此时conf的文件应该是

当然,你也可以从example\example-DIH\solr里随意复制一个例子的conf。同时,将server\solr下的solr.xml拷贝到solrhome目录下。

7、配置solrhome的位置。打开tomcat\webapps\solr\WEB-INF下的web.xml,找到

<!-- People who want to hardcode their "Solr Home" directly into the
       WAR File can set the JNDI property here...
   -->
  <!--
    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>F:\java\solrhome</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>
   -->

去掉<env-entry>的注释,并将刚才新建solrhome的目录填到<env-entry-value></env-entry-value>里。

8、如果打开站点发现404,则需解决权限问题 打开tomcat\webapps\solr\WEB-INF下的web.xml,拉到底 找到<security-constraint>标签的都注释掉。

9、此时打开tomcat服务,访问http://localhost:8080/solr/index.html应该能访问成功了。因为前面我们已经新建了core的文件夹jobseeker,但是此时,还需要在网页上新建这个core的实例。点击core admin ,再点击add core,在name及instanceDir填上jobseeker后点击完成。此时core已经建立成功。

10、solr数据索引的导入。因为是从数据库导入的数据,所以需要依赖dataimport以及jdbc的数据库驱动。

将下载好的数据库驱动复制到\tomcat\webapps\solr\WEB-INF\lib文件夹中,

在solrhome根目录下面新建extract文件夹,

solr源码下contrib\extraction\lib下所有jar包复制到Tomcat 9.0\webapps\solr\solrhome\extract

dist下的solr-cell-7.1.0.jar复制到Tomcat 9.0\webapps\solr\solrhome\extract

dist 下的solr-dataimporthandler-7.1.0.jarsolr-dataimporthandler-extras-7.1.0.jar这两个文件到Tomcat 9.0\webapps\solr\WEB-INF\lib中

打开solrhome\Jobseeker\conf下的solrconfig.xml文件,找到如下代码

<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />

在后面添加<lib dir="../extract" regex=".*\.jar" />  (因为我在部署的时候,原来这个目录有点问题,导致dataimport老是找不到,故把相关包都丢进这个目录里了)

找到

<requestHandler name="/update/extract"
                  startup="lazy"
                  class="solr.extraction.ExtractingRequestHandler" >
    <lst name="defaults">
      <str name="lowernames">true</str>
      <str name="fmap.meta">ignored_</str>
      <str name="fmap.content">_text_</str>

    </lst>
  </requestHandler>

在lst节点里添加

<str name="uprefix">attr_</str>
<str name="captureAttr">true</str>

uprefix : 如果指定了该参数,任何在schema中未定义的字段,都将以该参数指定的值作为字段名前缀。 
captureAttr :(true|false)捕获属性,对Tika XHTML 元素的属性进行索引。

同时,在requestHandler后面添加

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">data-config.xml</str>
    </lst>
  </requestHandler>

即连接数据库的配置文件。

solrhome\Jobseeker\conf下面新建data-config.xml,打开加入以下代码

<?xml version="1.0" encoding="utf-8"?>
<dataConfig>
  <dataSource type="JdbcDataSource" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    url="jdbc:sqlserver://ip:端口;DatabaseName=数据库名"
    user="数据库账号"
    password="数据库密码"/>
  <document name="article">
    <entity name="article" pk="Id" query="Select Id,Title,Content From Article">
      <field column="Id" name="id" />
      <field column="Title" name="title" />
      <field column="Content" name="content" />
    </entity>
  </document>
</dataConfig>

因为我使用的是sqlserver的包,所以driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"。

这里<field column="Id" name="id" />,column是指数据库字段,name对应索引文档的field 。

然后打开solrhome\Jobseeker\conf下的managed-schema文件,找到

<field name="_version_" type="plong" indexed="false" stored="false"/>
    <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
    <field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>

添加上面数据库导入的字段(id,title,content)。找到

<uniqueKey>id</uniqueKey>

这个是索引的主键,请改成自己相关的主键。

时间: 2024-08-29 23:22:07

solr相关配置的相关文章

Spring Data Solr相关配置

1.增加Maven POM文件的存储库:pom配置如下: <repositories> <repository> <id>spring-milestone</id> <name>Spring Milestone Maven Repository</name> <url>http://repo.springsource.org/libs-milestone</url> </repository> &l

solr相关配置(搜索novel案例)

managed-schema <?xml version="1.0" encoding="UTF-8" ?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional inform

Solr的配置及从数据库建立索引

1 . Solr 简介 Solr 是一个基于 Lucene 的 Java 搜索引擎服务器. Solr 提供了层面搜索.命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式).它易于安装和配置,而且附带了一个基于 HTTP 的管理界面. Solr 已经在众多大型的网站中使用,较为成熟和稳定. Solr 包装并扩展了 Lucene ,所以 Solr 的基本上沿用了 Lucene 的相关术语.更重要的是, Solr 创建的索引与 Lucene 搜索引擎库完全兼容.通过对 Sol

在Solr中配置中文分词IKAnalyzer

李克华 云计算高级群: 292870151 交流:Hadoop.NoSQL.分布式.lucene.solr.nutch 在Solr中配置中文分词IKAnalyzer 1.在配置文件schema.xml(位置{SOLR_HOME}/config/下),配置信息如下: <!-- IKAnalyzer 中文分词-->     <fieldType name="text_ik" class="solr.TextField">         <

solr 高亮配置

solrj中配置: 两种高亮开启设置 // solrParams.setHighlight(true); solrParams.setParam("hl", "true"); //highlighting 设置高亮字段: //高亮参数设置   那些字段高亮显示,可以用空格或者逗号分隔 solrParams.addHighlightField("title,content");//添加高亮域 或者: solrParams.setParam(&quo

Solr相关知识点串讲

Solr是Apache Lucene的一个子项目.Lucene为全文搜索功能提供了完备的API,但它只作为一个API库存在,而不能直接用于搜索.因此,Solr基于Lucene构建了一个完整的搜索引擎,它可以为搜索引擎添加文档,对文档内容进行分析,并为用户提供搜索功能,在此基础上提供了一个扩展功能,如hit highline, suggetion等. 一.概述 (一)基础内容 1.Solr的版本号与Lucene的版本号保持一直,直到2014年7月,最新版本号为4.9.0. 2.Solr提供了一个e

Centos7:Solr安装,配置与使用

Centos7:Solr安装,配置与使用 配置jdk环境,安装tomcat 解压solr bin:是脚本的启动目录 contrib:第三方包存放的目录 dist:编译打包后存放目录,即构建后的输出产物存放的目录 docs:solr文档的存放目录 example:示范例子的存放目录 licenses:权限相关的 部署solr工程 将/example/webapps/下的工程部署到Tomcat下 把solr源码包下的/example/lib/ext目录下的所有的jar包,添加到solr工程中. 创建

【Windows10&nbsp;IoT开发系列】PowerShell的相关配置

原文:[Windows10 IoT开发系列]PowerShell的相关配置 可使用 Windows PowerShell 远程配置和管理任何 Windows 10 IoT 核心版设备.PowerShell 是基于任务的命令行 Shell 和脚本语言,专为进行系统管理而设计. 1.​启动 PowerShell (PS) 会话 注:若要使用装有Windows10 IoT Core设备启动PS会话,首先需要在主机电脑与设备之间创建信任关系. ​启动 Windows IoT 核心版设备后,与该设备相连的

SSH相关配置

SSH相关配置 1.修改ssh监听端口 #注意是sshd_config而非ssh_config /etc/ssh/sshd_config #将Port 22前面的#去掉并添加修改后ssh连接使用的端口 Port 22 #添加多一个22222端口作为ssh连接使用 Port 22222 #同时将22和22222作为ssh连接端口,是为了防止错误操作致使ssh无法连接上 #待22222连接生效后再将22端口关闭 #重启sshd服务 service sshd restart /etc/init.d/s