solr 配置中文分析器/定义业务域/配置DataImport功能方法(测试用)

一、配置中文分析器

使用IKAnalyzer

配置方法:

1)把IK的jar包添加到solr工程中/WEB-INF/lib目录下

2)把IK的配置文件扩展词典,放到classpath下。/WEB-INF/classes目录下

3)在schema.xml中定义FieldType,指定使用IK作为分析器

<!-- IKAnalyzer-->
  <fieldType name="text_ik" class="solr.TextField">
   <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
  </fieldType>

4)重启tomcat

二、业务域的定义

1)创建数据库

需要导入的字段:pid,name,catelog_name,price,description,picture

2)每个字段需要对应索引库中的一个field

一条记录对应一个Document,一个字段对应一个域

schema.xml中:

<!--product-->
  <field name="product_name" type="text_ik" indexed="true" stored="true"/>
  <field name="product_price" type="float" indexed="true" stored="true"/>
  <field name="product_description" type="text_ik" indexed="true" stored="false" />
  <field name="product_picture" type="string" indexed="false" stored="true" />
  <field name="product_catalog_name" type="string" indexed="true" stored="true" />
  <field name="product_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
  <copyField source="product_name" dest="product_keywords"/>
  <copyField source="product_description" dest="product_keywords"/>

三、配置DataImport功能(测试用)

步骤:

1、把DataImport插件需要的jar包添加到solr中

solr-dataimporthandler-4.10.3.jar
solr-dataimporthandler-extras-4.10.3.jar

可以放到solrhome/Collection1/lib目录下

2、需要mysql的数据库驱动的jar包

可以放到Collection1/lib目录下

3、需要在solrconfig.xml添加一个RequestHandler处理器

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

4、在solrconfig.xml配置文件所在的目录添加一个data-config.xml文件

配置连接数据库的连接串

查询数据库的sql语句

结果集和索引库的映射关系

<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
     driver="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost:3306/solr"
     user="root"
     password="root"/>
<document>
  <entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products ">
     <field column="pid" name="id"/>
     <field column="name" name="product_name"/>
     <field column="catalog_name" name="product_catalog_name"/>
     <field column="price" name="product_price"/>
     <field column="description" name="product_description"/>
     <field column="picture" name="product_picture"/>
  </entity>
</document>  

</dataConfig>

5、重启tomcat

以上这篇solr 配置中文分析器/定义业务域/配置DataImport功能方法(测试用)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • solr 配置中文分析器/定义业务域/配置DataImport功能方法(测试用)

    一.配置中文分析器 使用IKAnalyzer 配置方法: 1)把IK的jar包添加到solr工程中/WEB-INF/lib目录下 2)把IK的配置文件扩展词典,放到classpath下./WEB-INF/classes目录下 3)在schema.xml中定义FieldType,指定使用IK作为分析器 <!-- IKAnalyzer--> <fieldType name="text_ik" class="solr.TextField"> <

  • SpringCloud Gateway跨域配置代码实例

    这篇文章主要介绍了SpringCloud Gateway跨域配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Springboot版本:2.1.8.RELEASE SpringCloud版本:Greenwich.SR2 yml配置: spring: cloud: gateway: globalcors: cors-configurations: '[/**]': # 允许携带认证信息 # 允许跨域的源(网站域名/ip),设置*为全部

  • Spring 跨域配置请求详解

    介绍 跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求.比如说,域名A(http://domaina.example)的某 Web 应用程序中通过标签引入了域名B(http://domainb.foo)站点的某图片资源(http://domainb.foo/image.jpg),域名A的那 Web 应用就会导致浏览器发起一个跨站 HTTP 请求.在当今的 Web 开发中,使用跨站 HTTP 请求加载各类

  • docker 安装solr8.6.2 配置中文分词器的方法

    一.环境版本 Docker version 19.03.12 centos7 solr8.6.2 二.docker安装 1.使用官方安装脚本自动安装 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 2.使用国内 daocloud 一键安装命令: curl -sSL https://get.daocloud.io/docker | sh 三.docker安装solr8.6.2 1.docker拉取solr doc

  • spring cloud如何修复zuul跨域配置异常的问题

    前言 本文主要给大家介绍一下在zuul进行跨域配置的时候出现异常该如何解决的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 异常 The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed 实例 Access-Control-Allow-Credentials:true Access-Control-Allow-Credentials:t

  • vue-cli 3.x配置跨域代理的实现方法

    写在前面 vue-cli 3.x 的beta版本已经发布了一段时间,很早就像体验一番一直找不到时间.这些日子刚好有空就想着依照网上的一些例子练下手,刚一上手就踩到坑了. 3.x 版本对整个项目的构建都有很大的改动,项目的默认配置整个都转移到CLI service里去了,从而所有的配置文件在初始化的项目中并没有生成.初次生成项目的时候可谓是完全懵的,无论是baidu还是google,对于3.x的介绍几乎就没有,仅有的一些也只是项目的一些生成流程,那怎么办,只能靠自己瞎整了. 既然没有现成的(作为一

  • vue-cli3跨域配置的简单方法

    vue-cli3跨域配置: 在vue-resource的数据请求中,一般我们会将请求方式GET/POST修改为jsonp的请求方式就可以实现跨域. 但是对于只支持GET/POST两种请求方式的api,修改jsonp,就会出错.需要进行跨域的配置. (1)在文件根目录下,创建vue.config.js配置文件,具体配置如下: module.exports={ //将baseUrl:'/api',改为baseUrl:'/' baseUrl:'/', devServer:{ '/api':{ targ

  • ThinkPHP 5.1 跨域配置方法

    因为最近的项目采用了API接口开发方式,后端需要配置跨域的规则以便前端能够访问. 系统采用的框架为 ThinkPHP,版本 5.1.19 关于OPTIONS请求 由于前端的知识不是很熟悉,查阅了网上的资料得知,OPTIONS 请求是在 AJAX 发送请求前发送的一个验证请求,该请求会验证一系列规则,若符合规则则会发送实际的 GET 或 POST 请求,跨域的规则也是 OPTIONS 请求时进行验证的. 遇到的问题 按照网上大部分关于跨域请求的配置,基本都是以下三行代码: header("Acce

  • nginx 配置跨域失效修复的方法示例

    nginx 配置跨域不生效 如下配置 server { listen 80; server_name localhost; # 接口转发 location /api/ { # 允许请求地址跨域 * 做为通配符 add_header 'Access-Control-Allow-Origin' '*'; # 设置请求方法跨域 add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; # 设置是否允许 co

  • Springboot 跨域配置无效及接口访问报错的解决方法

    跨域配置如下,Springboot 版本为 2.4.1 ///跨域访问配置 @Configuration public class CorsConfig { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.setAllowCredentials(true); //sessionid 多次访问一致 co

随机推荐