『 热烈的爱情到订婚早已是定点,婚一结一切了结。现在订了婚,彼此间还留着情感发展的余地,这是桩好事。- 《我们仨》 』
「系列文章」
深入浅出 spring-data-elasticsearch – ElasticSearch 架构初探(一)
深入浅出 spring-data-elasticsearch – 概述(二)
深入浅出 spring-data-elasticsearch – 基本案例详解(三)
深入浅出 spring-data-elasticsearch – 实战案例详解(四)
深入浅出 spring-data-elasticsearch – 架构原理以及源码浅析(五)(拼命编写ing)
运行环境:JDK 7 或 8,Maven 3.0+
技术栈:SpringBoot 1.5+, Spring Data Elasticsearch 1.5+ ,ElasticSearch 2.3.2
本文提纲
一、搜索实战场景需求
二、运行 spring-data-elasticsearch-query 工程
三、spring-data-elasticsearch-query 工程代码详解一、搜索实战场景需求
搜索的场景会很多,常用的搜索场景,需要搜索的字段很多,但每个字段匹配到后所占的权重又不同。比如电商网站的搜索,搜到商品名称和商品描述,自然商品名称的权重远远大于商品描述。而且单词匹配肯定不如短语匹配。这样就出现了新的需求,如何确定这些短语,即自然分词。那就利用分词器,即可得到所需要的短语,然后进行搜索。
下面介绍短语如何进行按权重分匹配搜索。二、运行 spring-data-elasticsearch-query 工程
1. 后台起守护线程启动 Elasticsearch
cd elasticsearch-2.3.2/
./bin/elasticsearch -d
git clone 下载工程 springboot-elasticsearch ,项目地址见 GitHub – https://github.com/JeffLi1993/ … ample。
下面开始运行工程步骤(Quick Start):
2. 项目结构介绍
org.spring.springboot.controller - Controller 层
org.spring.springboot.repository - ES 数据操作层
org.spring.springboot.domain - 实体类
org.spring.springboot.service - ES 业务逻辑层
Application - 应用启动类
application.properties - 应用配置文件,应用启动会自动读取配置
本地启动的 ES ,就不需要改配置文件了。如果连测试 ES 服务地址,需要修改相应配置
3.编译工程
在项目根目录 spring-data-elasticsearch-query,运行 maven 指令:
mvn clean install
4.运行工程
右键运行 Application 应用启动类(位置:org/spring/springboot/Application.java)的 main 函数,这样就成功启动了 spring-data-elasticsearch-query 案例。
用 Postman 工具新增两个城市
a. 新增城市信息
POST http://127.0.0.1:8080/api/city
{
"id”:"1",
"score":"5",
"name":"上海",
&