java全文检索工具_全文检索工具elasticsearch:第三章: Java程序中的应用

搭建模块

0fa13383b394b4a2d040d7c98f809b79.png

0ded107e2694016275c324ce6f2825ee.png

创建二个项目

2ec36f7ab7c4c9ba9ced5aa4ebb7397a.png

gmall-list-service的appliction.properties:

server.port=8073

spring.datasource.url=jdbc:mysql://localhost:3306/gmall?characterEncoding=UTF-8

spring.datasource.username=root

spring.datasource.password=root

mybatis.configuration.map-underscore-to-camel-case=true

mybatis.mapper-locations=classpath:mapper/*Mapper.xml

spring.dubbo.registry.protocol=zookeeper

spring.dubbo.registry.address=192.168.0.100:2181

spring.dubbo.application.name=gmall-list-service

spring.dubbo.protocol.name=dubbo

spring.dubbo.base-package=com.javawxid

spring.elasticsearch.jest.uris=http://192.168.0.100:9200

logging.level.root=info

gmall-list-service的pom.xml:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.javawxid.gmall

gmall-parent

1.0-SNAPSHOT

com.javawxid.gmall

gmall-list-service

0.0.1-SNAPSHOT

gmall-list-service

Demo project for Spring Boot

1.8

com.javawxid.gmall

gmall-service-util

1.0-SNAPSHOT

com.javawxid.gmall

gmall-api

1.0-SNAPSHOT

org.springframework.boot

spring-boot-starter-data-elasticsearch

io.searchbox

jest

5.3.3

net.java.dev.jna

jna

4.5.1

org.springframework.boot

spring-boot-maven-plugin

其中jest和jna请将版本号,部分纳入gmall-parent中管理。spring-boot-starter-data-elasticsearch不用管理版本号,其版本跟随springboot的1.5.10大版本号。

gmall-list-web的appliction.properties:

server.port=8083

spring.dubbo.registry.address=192.168.0.100:2181

spring.dubbo.protocol.name=dubbo

spring.dubbo.application.name=gmall-list-web

spring.dubbo.base-package=com.javawxid

spring.dubbo.consumer.timeout=600000

spring.dubbo.consumer.check=false

spring.thymeleaf.mode=LEGACYHTML5

spring.thymeleaf.cache=false

logging.level.root=info

gmall-list-web的pom.xml:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.javawxid.gmall

gmall-parent

1.0-SNAPSHOT

com.javawxid.gmall

gmall-list-web

0.0.1-SNAPSHOT

gmall-list-web

Demo project for Spring Boot

1.8

com.javawxid.gmall

gmall-api

1.0-SNAPSHOT

com.javawxid.gmall

gmall-web-util

1.0-SNAPSHOT

org.springframework.boot

spring-boot-maven-plugin

2、 关于es的java 客户端的选择

目前市面上有两类客户端

一类是TransportClient 为代表的ES原生客户端,不能执行原生dsl语句必须使用它的Java api方法。

另外一种是以Rest Api为主的missing client,最典型的就是jest。 这种客户端可以直接使用dsl语句拼成的字符串,直接传给服务端,然后返回json字符串再解析。

两种方式各有优劣,但是最近elasticsearch官网,宣布计划在7.0以后的版本中废除TransportClient。以RestClient为主。

所以在官方的RestClient 基础上,进行了简单包装的Jest客户端,就成了首选,而且该客户端也与springboot完美集成。

3、插入数据

PUT /movie_chn/movie/1

{ "id":1,

"name":"红海行动",

"doubanScore":8.5,

"actorList":[

{"id":1,"name":"张译"},

{"id":2,"name":"海清"},

{"id":3,"name":"张涵予"}

]

}

PUT /movie_chn/movie/2

{

"id":2,

"name":"湄公河行动",

"doubanScore":8.0,

"actorList":[

{"id":3,"name":"张涵予"}

]

}

PUT /movie_chn/movie/3

{

"id":3,

"name":"红海事件",

"doubanScore":5.0,

"actorList":[

{"id":4,"name":"张晨"}

]

}

4、在测试类中测试ES

package com.javawxid;

import io.searchbox.client.JestClient;

import io.searchbox.core.Search;

import io.searchbox.core.SearchResult;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.test.context.junit4.SpringRunner;

import java.io.IOException;

import java.util.HashMap;

import java.util.List;

@RunWith(SpringRunner.class)

@SpringBootTest

public class GmallListServiceApplicationTests {

@Autowired

JestClient jestClient;

@Test

public void testEs() throws IOException {

String query="{\n" +

" \"query\": {\n" +

" \"match\": {\n" +

" \"actorList.name\": \"张译\"\n" +

" }\n" +

" }\n" +

"}";

Search search = new Search.Builder(query).addIndex("movie_chn").addType("movie").build();

SearchResult result = jestClient.execute(search);

List> hits = result.getHits(HashMap.class);

for (SearchResult.Hit hit : hits) {

HashMap source = hit.source;

System.err.println("source = " + source);

}

}

}

打印结果:

source = {doubanScore=8.5, es_metadata_id=1, name=红海行动, actorList=[{id=1.0, name=张译}, {id=2.0, name=海清}, {id=3.0, name=张涵予}], id=1.0}

source = {doubanScore=5.0, es_metadata_id=3, name=红海事件, actorList=[{id=4.0, name=张晨}], id=3.0}

source = {doubanScore=8.0, es_metadata_id=2, name=湄公河行动, actorList=[{id=3.0, name=张涵予}], id=2.0}

以上技术方面的准备就做好了。

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

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

相关文章

win10 多用户登陆

win10 多用户登陆 一般的直接下载就可以用了。 核心参考链接github 支持 1903 支持最新版本可以需要这个1903支持项参考页面 上述页面的下载文件页面1903支持页面 关于上述链接下载文件readme的解释 RDP Wrapper Library Updater --------------------------- <Add support …

DNN(DotNetNuke)注册用户终于突破10万人了,其3.0也终于跳票了...

是的&#xff0c;尽管我很不愿意&#xff0c;但的确是跳票了&#xff0c;或许跳票是软件开发的惯例了。据说会在圣诞节那天发布&#xff0c;也可能是月底&#xff0c;没有人知道&#xff1a;http://www.asp.net/Forums/ShowPost.aspx?tabindex1&PostID734458 不过&#xf…

java虚拟机MyEclipse_Eclipse和MyEclipse运行环境java虚拟机jvm设置,自己设置jre

Eclipse运行环境java虚拟机jvm设置&#xff0c;自己设置jre浅谈Eclipse寻找JVM(JRE)的顺序机制Eclipse也是一个普通的Java程序&#xff0c;因此必须有一个JRE做为运行环境。如果你的机器上没有安装任何JRE(或者JDK&#xff0c;本文不做二者的区分)&#xff0c;那么点击eclipse.…

初探机器学习之使用百度EasyDL定制化模型

一、Why 定制化模型 一般来说&#xff0c;各大云服务厂商只会提供一些最常见通用的AI服务&#xff0c;针对具体场景的AI应用则需要在云服务厂商提供的服务之上进行定制。例如&#xff0c;通常的图像识别只能做到分析照片的主题内容&#xff0c;而我的需求是给定指定场景的图片&…

Microsoft SQL Server Desktop Engine安装过程中遇到的问题(2)

今天下午没课&#xff0c;又在玩电脑了&#xff0c;想起昨天没解决的问题&#xff0c;心里有点不爽&#xff0c;遇到问题就要解决嘛^_^。 我把昨天装的study实例卸载了&#xff0c;仔细研究了一下自述文件&#xff0c;按照里面的说明&#xff0c;我在C盘根目录新建了一个名为 M…

java面向对象基础代码_JAVA基础知识点之Java面向对象

特点:1:将复杂的事情简单化。2:面向对象将以前的过程中的执行者&#xff0c;变成了指挥者。3:面向对象这种思想是符合现在人们思考习惯的一种思想。过程和对象在我们的程序中是如何体现的呢&#xff1f;过程其实就是函数&#xff1b;对象是将函数等一些内容进行了封装。匿名对象…

OCP-052考试题库汇总(4)-CUUG内部解答版

Which four statements are true about truncating a table? A)Any insert triggers for the table will be executed. B)Any of the table’s indexes are also truncated. C)Any delete triggers for the table will be executed. D)All table storage can be retained. E)O…

mysql innodb4大特征_MYSQL中InnoDB特性浅谈

许久没有更新博客,上周末放假把网易大牛姜sir的著作MYSQL技术内幕InnoDB存储引擎又翻阅了一番,对当前工作的InnoDB特性有了一些新的认识,下面谈谈自己的读后感.1. InnoDB的体系架构由一系列后台线程,内存池和文件组成,这点与其他DB有相似之处. 在内存中划分了一块区域,即缓冲池…

微享:快速分享网页到新浪微博

分享到新浪微博 *:博客园的编辑程序会自动给javascript的链接加上前缀&#xff0c;使得链接错误。版本&#xff1a;&#xff11;.0 简介&#xff1a; 书签栏工具&#xff0c;javascript代码&#xff0c;用于分享网页内容到新浪微博。 安装&#xff1a;Firefox&#xff0c;safa…

VFP下利用API调用帮助

VFP下利用API调用帮助 Declare integer HtmlHelp IN hhctrl.ocx integer hwndCaller, string pszFile, integer uCommand, integer dwData HtmlHelp(0, [mk:MSITStore:WINPY.CHM::/html/winp48fm.htm],1,0)转载于:https://www.cnblogs.com/77543/archive/2005/01/13/91583.htm…

java重命名package_AndroidStudio怎么重命名java目录下的包名(如cn.zsn.app)

【声明&#xff1a;】本文是作者(蘑菇v5)原创&#xff0c;版权归作者 蘑菇v5所有&#xff0c;侵权必究。本文首发在简书。如若转发&#xff0c;请注明作者和来源地址&#xff01;未经授权&#xff0c;严禁私自转载&#xff01;区分包名和applicationid的区别&#xff1a;这里的…

OCP-052考试题库汇总(5)-CUUG内部解答版

Examine these attributes for the profile assigned to USER1 whose password is oracle_4U. • PASSWORD_REUSE_MAX is 5. • PASSWORD_REUSE_TIME is 10. • PASSWORD_GRACE_TIME is 15. Which two conditions must be met for USER1 to reuse oracle_4U? A)At least 5 day…

笔记本鼠标乱跑!不知何故!

开始怀疑是病毒&#xff0c;现在安装了norton还是出现。哪位网友知道是怎么回事情吗&#xff1f;

java in thread main_JAVA报错:Exception in thread main……求帮助?

问题描述:题目要求&#xff1a;(1)创建MaxArray类&#xff1a;声明1个一维数组的成员变量&#xff0c;例如&#xff1a;int array[ ]; //一维数组设置有参构造方法&#xff0c;如&#xff1a;MaxArray(int n){ …… } //有参构造方法&#xff0c;为成员变量创建长为n的一维数组…

[ZZ]MVC设计模式

1 前言   用户界面&#xff0c;特别是图形用户界面&#xff0c;承担着向用户显示问题模型和与用户进行操作和I/O交互的作用。用户希望保持交互操作界面的相对稳定&#xff0c;但更希 望根据需要改变和调整显示的内容和形式。例如&#xff0c;要求支持不同的界面标准或得到不同…

OCP-052考试题库汇总(6)-CUUG内部解答版

Examine these attributes for the profile assigned to USER1 whose password is oracle_4U • PASSWORD_REUSE_MAX is 5 • PASSWORD_REUSE_TIME is 10 • PASSWORD_GRACE_TIME is 15 Which two are true? A)The USER1 password must not have been used for at least 10 da…

2019.7.25

T1.匹配 一看就是KMP的嘛&#xff0c;但是忘了。 啊&#xff0c;要背模板的啦&#xff01; 啊&#xff1f;&#xff01;暴力72分&#xff1f;&#xff01;&#xff1f;&#xff01;&#xff1f;&#xff01; Get! 正解就是一般的KMP&#xff0c;把a串与b串接起来&#xf…

我的笔记本的鼠标又乱跑了!寻求帮助!

我打算做个纪录&#xff0c;看看究竟是什么幽灵。 2005/3/3 19点左右。 2005/3/15 19点左右 在家 2005/3/25 20:30左右 在家 05/04/01 19:40 在家 哪位网友遇到类似问题吗&#xff1f;有何高招&#xff1f;

帮你免于失业的十大软件技术!

能跟上关键技术的发展&#xff0c;是你在就业市场和未来保持优势的最佳手段。你对我们列出的十门技术精通吗&#xff1f;哪怕是大略精通&#xff1f; 我不知道你的具体工作是什么。如果你是某冷门领域的专家而变得不可或缺&#xff0c;或者你们的公司十分稳固&#xff0c;以你…

gentoo安装记录[20050216]

原作者: * 20050216: 我明天 (17 号) 要去武汉陪 gf 几天, 顺便找找工作 (如果你有武汉的工作信息, 记得一定给我发信或者直接联系我! 非常非常感谢先!!), 可能有几天上不来了, 所以赶紧把这帖子搞定啦! 大家有啥想法/意见的就跟帖提, 我回来改 * 20050215: 完成内核安装/内核…