mac solr mysql 配置文件_Solr配置文件浅析

接上一篇Linux下安装solr7.4,来谈谈solr的配置文件schema.xml和db-data-config.xml

首先看schema.xml:

id

field标签用来定义solr core中的字段。这里列出的三个字段如果没有特殊原因尽量保留。字段id被声明为uniqueKey,是让id来唯一标明一个solrdocument。通过这个id来对solrdocument进行操作。

type对应的是字段的属性,solr在schema中定义了很多属性,当然也可以自己定义属性。这里常见的属性有pint,pdate,string,boolean等。

不常见或者自定义的属性:

该属性type="text_ws"定义的字段通过空格去分割文本变成一个一个的词,然后可以通过被分割的词去查找该document。

这里用到的逆向索引是solr的精髓,将分好的词作为key,文档标签作为value,对key建索引,去查询文档。

indexed属性如果为true则说明该字段将被建索引。

stored属性如果为true,则将该字段内容进行存储。

multiValued如果设置为true,则表明该字段是由多个字段值组成的。比如上面例子中的text字段,它是由content和title字段组成。对text字段的操作就是对content和title字段进行操作。

上面这一段配置的意思是:有两个字段title和content,他们是自定义的text_hanlp属性,含有这属性的字段都接受hanlp的分词。这两个字段不创建索引,只做存储。text字段负责组合title和content字段,并创建索引用来检索。

required属性表明该字段值是否必须。

自定义属性text_hanlp来达到中文分词效果

因为solr常用的ik分词、mmseg4j都已经不维护了。所以这里使用还有大神维护的Hanlp分词器。

配置Hanlp分词可以参考教程

将hanlp-portable.jar和hanlp-lucene-plugin.jar共两个jar放入${tomcat}/webapps/solr/WEB-INF/lib下

配置好之后,可以在solr admin界面查看分词效果:

16a7057d6985?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

solr分词

定义动态字段

dynamicField定义的就是动态字段,只要符合_i结尾的字段都可以被这个字段所定义。同样的,schema.xml中已经定义好了很多动态字段。可以直接拿来用。

db-data-config.xml配置文件

该文件主要配置数据库连接和字段对应关系。用来做全量和增量索引的创建,相对schema.xml简单很多。

下面看下主要配置:

url="jdbc:mysql://127.0.0.1:3306/database?

useUnicode=true&characterEncoding=UTF-8"

user="root"

batchSize="-1"

password="123456"/>

dataSource用来定义数据库连接,batchSize设为-1是为了避免查询创建索引导致内存溢出。

query="select * from tableName" >

这里做了一个简单的定义,看着很清楚。columen标明的是数据库查出的字段,name标明的属性和schema中定义的字段对应。

deltaQuery="select id from item where last_modified > '${dataimporter.last_index_time}'">

deltaQuery用来做增量索引的创建。

当文件配置好之后,重启tomcat。访问solr/index.html。

16a7057d6985?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

solr创建索引

选择1,然后2可以选择全量索引或者创建增量索引。勾选clean会清楚上次的索引,点选commit创建索引进行提交。点击execute进行执行。

下一篇,更新spring boot 中集成solrJ对solr进行操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360632.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSF:在正确的阶段进行验证(了解生命周期)

嗨,大家好! 尽管标题强调验证一词,但本文实际上是关于JSF生命周期的。 那是因为我相信,真正了解生命周期的最简单方法之一就是通过做出我们一直在做的事情:验证用户输入。 总的来说,理解所谓的JSF生命周期…

OpenShift v3:使用WildFly和MySQL的Java EE 7入门

OpenShift是Red Hat的开源PaaS平台。 OpenShift v3 (将于今年发布)将提供使用Docker和Kubernetes运行微服务的整体体验。 以经典的Red Hat方式,所有工作都在OpenShift Origin的开源中完成。 这也将推动OpenShift Online和OpenShift Enterpris…

mySQL日期函数并运行_mysql日期相关的函数

1、获取当前时间:/**获得当前日期时间(date time)函数:now(), 常用**/select now() fromdual;/**获取当前时间戳,current_timestamp或者current_timestamp()**/select current_timestamp, current_timestamp() fromdual;/**获得当前日期时间…

序列化对象C++对象的JSON序列化与反序列化探索

新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正 一:背景 作为一名C开发人员,我始终很期待能够像C#与JAVA那样,可以省力的进行对象的序列化与反序列化,但到现在为止&#xff…

python socket udp并发_Python进阶----UDP协议使用socket通信,socketserver模块实现并发

Python进阶----UDP协议使用socket通信,socketserver模块实现并发一丶基于UDP协议的socket实现UDP协议传输数据代码如下:👇### 客户端# -*-coding:utf-8-*-# Author:Dsimport socket# 实例化UDP协议的socket对象 ,配置参数, socket.SOCK_DGRAM(数据报)udp_clisocket.…

Java IO基准测试:Quasar与异步ForkJoinPool与ManagedBlock

“ Arien看到了我们运行的parallelStreams和ForkJoin基准测试的结果后,在Twitter上与我们联系。 这激起了他的兴趣,因此他进行了一些自己的测试,将Quasar纤维加入了混合物。 这是他的结果和结论。” –塔基皮(Takipi)A…

WP8开发札记(一)WP8应用生命周期管理

在介绍生命周期前,我们先了解两个相关的概念。 1、墓碑机制:WP8与Android采用的真后台机制不同,WP8采用的是墓碑机制。一旦从当前应用程序离开(非退出),该应用会被墓碑化,这样可以更好的管理&am…

python类继承中构造方法_第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解...

第8.3节Python类的__init__方法深入剖析:构造方法与继承详解一、 引言上两节介绍了构造方法的语法及参数,说明了构造方法是Python的类创建实例后首先执行的方法,并说明如果类没有重写构造方法,Python将会给出默认的__init__方法…

OpenShift DIY:使用Gradle构建Spring Boot / Undertow应用程序

由于此bug, Gradle 1.6是在OpenShift上运行的最后一个受支持的Gradle版本。 但是从Gradle 2.2开始,这不再是问题,因此使用自己动手做墨盒在OpenShift上运行最新的Gradle不再是问题。 DIY墨盒是一种实验性墨盒,它提供了一种在OpenS…

使用JAX-RS和Jetty创建Web服务和Rest Server

用Java创建WebService非常容易。 将其添加到ServletContainer并将其部署到嵌入式WebServer仅需要几行代码。 让我们创建一个具有两个函数的简单计算器,作为WebService的示例。 计算器将计算任何数量的squareRoot和平方。 它将返回一个简单的JSON响应,其…

maya 中使用节点连接来求余数:

绑个东西要用到求余,不喜欢用表达式,就想用节点连出来,找了下网上只有 镀金铆钉 在火星时代上的教程,不过不能下载了,就自己想了下,终于搞出来了,做下笔记,不要忘了。 求余的思路&a…

java web 登录界面案例_【JavaWeb】74:写一个登录案例

今天是刘小爱自学Java的第74天。感谢你的观看,谢谢你。话不多说,开始今天的学习:Java又常被称之为后台开发。什么叫后台呢?除了后台还有什么前台、前端后端……这些概念一大堆,还容易弄混。以一个三层架构的知识点来引…

7种JIRA集成可优化Java开发流程

有哪些最佳集成可以用来优化JIRA工作流程? 我喜欢寻找在工作流程中提高效率的方法。 看着那些小的自动化和流畅的流程,使我的脸上露出笑容。 我知道我并不孤单,偶尔花更多的时间来获得一点点提升以使其正常工作,而不是最终节省了我…

hive处理日志,自定义inputformat

开放环境,hadoop-0.20.2,hive-0.6 1.日志分隔符 Xml代码 2010-05-31 10:50:17|||61.132.4.82|||http://www.360buy.com/product/201185.html 2010-05-31 10:50:17|||61.132.4.82|||http://www.360buy.com/product/201185.html分隔符是“ ||| ”&#xf…

将ActiveMQ持久消息传递性能提高25倍

Apache ActiveMQ,JBoss A-MQ和Red Hat Apache ActiveMQ是一个非常受欢迎的开源消息传递代理,由创建(和工作) Apache Karaf , Apache Camel , Apache ServiceMix以及许多其他工具的人提供给您。 它拥有一个充…

ECMA学习小结(3)——constructor 和 prototype

每个函数都有一个prototype的属性,当我们以这个函数为构造函数创建实例时(即用new的形式),创建出来的这个对象是没有prototype的属性的。以下代码为例:在console里进行调试cf 拥有一个prototype的属性,这个…

java什么是网络接口_java 网络编程 -- IP地址的表示与网络接口信息的获取(InetAddress和NetworkInterface)...

使用java进行网络程序的开发,可以说是一件令人愉悦的事情,对于用惯了C网络接口编程的人来说,当他们首次使用Java开发网络应用程序,会发现java开发网络应用是如此的简单,甚至仅用几分钟时间,您就可以学会这种…

如何使用悲观锁定修复乐观锁定竞争条件

概括 在我以前的文章中 ,我解释了使用显式乐观锁定的好处。 然后我们发现,在很短的时间范围内,并发交易仍可以在我们当前交易被提交之前立即提交产品价格更改。 此问题可以描述如下: 爱丽丝拿产品 然后,她决定订购…

SWT外观:自定义FlatScrollBar颜色等

最近,我引入了一个自定义滑块控件 ,该控件可用于改善SWT外观和更细微的视图布局的感觉。 令人高兴的是,该小部件似乎已经在Code Affine世界之外找到了较早的采用者 。 这导致了一些增强 ,这些增强将在以下各节中介绍。 SWT滚动条…

java虚拟机编译_[四] java虚拟机JVM编译器编译代码简介 字节码指令实例 代码到底编译成了什么形式...

前言简介前文已经对虚拟机进行过了简单的介绍,并且也对class文件结构,以及字节码指令进行了详尽的说明想要了解JVM的运行机制,以及如何优化你的代码,你还需要了解一下,java编译器到底是如何编译你的代码的本文不是从最底层的编译原理讲解本文是针对java代码,去查看归纳总结编译…