在线QQ客服:1922638
专业的SQL Server、MySQL数据库同步软件
在建站的过程中,为了便于对便笺和文章内容进行全文搜索,可以考虑集成es,使用es的分词功能在站中进行全文搜索。
在官方网站上下载es压缩包,解压缩后,在config中配置yml文件:
执行elasticsearch.bat,使用浏览器访问http://本地主机:9200/,并成功执行,不会出现错误。
为了便于查看,我们可以安装elasticsearch-head插件,首先安装nodeJs环境,
安装grunt:npm install npm install-g grunt-cli查看grunt版本grunt-version
下载elasticsearch-head(禁止将其放在elasticsearch的plugins和modules目录中,但放在根目录中),解压缩后,修改head/Gruntfile.js:
安装elasticsearch-head:在elasticsearch-head目录下执行npm install
要运行插件,只需在head源代码目录中启动nodejs:grunt server
然后在浏览器中输入http://本地主机:9100/。
如果错误是由Gruntfile.js引起的,并且缺少以下软件包,请执行以下命令:
npm install grunt-contrib-clean–registry = https://registry.npm.taobao.org
npm install grunt-contrib-concat–registry = https://registry.npm.taobao.org
npm install grunt-contrib-watch–registry = https://registry.npm.taobao.org
npm install grunt-contrib-connect–registry = https://registry.npm.taobao.org
npm install grunt-contrib-copy–registry = https://registry.npm.taobao.org
npm install grunt-contrib-jasmine–registry = https://registry.npm.taobao.org
安装ik标记程序:
在git上找到相应的版本(版本必须一致),将其下载到本地软件包mvn软件包中,在目标/版本中获得zip,在plugins目录下创建一个新的ik文件夹,并将其解压缩。
拼音令牌生成器操作相同的ik-拼音
1.下载并解压缩logstash后,在根目录中创建一个新的mysql,将mysql-connector-java-5.1.27.jar复制到其中,然后配置jdbc.conf和同步表的查询方法。只需从[表]中选择*
jdbc.conf配置:
note.sql:
选择* fromt_notewherelocked = 0
2.运行logstash(进入logstash/bin目录):logstash-f…/mysql/jdbc.conf
Logstash将自动将mysql数据同步到elasticsearch。
首先,spring集成的elasticsearch需要添加elasticsearch的运输依赖性
然后,我们定义TransportClient(连接到es客户端的java api,在这里我们将其提供给spring容器进行管理); TransportClient作为外部访问者,请求ES群集,对于群集,这是一个外部因素,不会影响群集的运行。
然后在业务层调用TransportClient实例以添加,删除,修改和检查es。
在获得请求参数的内容字段之后,我们首先使用ES的令牌化器对其进行分段:在ESUtils类中,我们定义了processingSearchContent方法,并在getIkAnalyzeSearchTerms中调用elasticsearch的ik令牌化器进行了分段。
QueryBuilders.boolQuery用于组合多个叶子或复合查询子句的默认查询。其中,must方法类似于操作,应该类似或操作; matchPhrasePrefixQuery用于词组前缀匹配查询,将分词后的词组通过循环合并为boolQuery,最后由SearchRequestBuilder调用搜索语句。
我们的自定义工具处理类对查询结果执行查询关键字突出显示,创建一个新的MyHightlightBuilder类,并定义setNoteHighlighter方法(可以为不同的实体内容处理定义不同的方法):
在业务层中,调用Highlight方法以处理查询结果:
elasticsearch的更新操作:
elasticsearch的删除操作: