本帖最后由 谷粒姐姐 于 2019-5-21 11:04 编辑
3.4.5 测试
启动logstash.bat:
1、根据分类搜索课程信息。
2、根据关键字搜索课程信息,搜索方式为全文检索,关键字需要匹配课程的名称、 课程内容。 3、根据难度等级搜索课程。
4、搜索结点分页显示。
技术分析:
1、根据关键字搜索,采用MultiMatchQuery,搜索name、description、teachplan
2、根据分类、课程等级搜索采用过虑器实现。
3、分页查询。
4、高亮显示。
4.2 创建搜索服务工程
1)创建xc-service-search工程
2)配置 1、配置appliction.yml
[AppleScript] 纯文本查看 复制代码 server: port: 40100 spring: application:
name: xc‐search‐service elasticsearch:
hostlist: 127.0.0.1:9200 #多个结点中间用逗号分隔
course: index: xc_course
type: doc
2、配置RestHighLevelClient和RestClient
[AppleScript] 纯文本查看 复制代码 package com.xuecheng.search.config;
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.factory.annotation.Value;
[AppleScript] 纯文本查看 复制代码 import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; @Configuration public class ElasticsearchConfig {
@Value("${xuecheng.elasticsearch.hostlist}")
private String hostlist;
@Bean
public RestHighLevelClient restHighLevelClient(){
//解析hostlist配置信息
String[] split = hostlist.split(",");
//创建HttpHost数组,其中存放es主机和端口的配置信息
HttpHost[] httpHostArray = new HttpHost[split.length];
for(int i=0;i<split.length;i++){
String item = split[i]; [/i]
[i] httpHostArray[i] = new HttpHost(item.split(":")[0], Integer.parseInt(item.split(":") [1]), "http"); [/i][/i]
[i][i] } [/i][/i]
[i][i] //创建RestHighLevelClient客户端 [/i][/i]
[i][i] return new RestHighLevelClient(RestClient.builder(httpHostArray)); [/i][/i]
[i][i] } [/i][/i]
[i][i] @Bean public RestClient restClient(){ [/i][/i]
[i][i] //解析hostlist配置信息 [/i][/i]
[i][i] String[] split = hostlist.split(","); [/i][/i]
[i][i] //创建HttpHost数组,其中存放es主机和端口的配置信息 [/i][/i]
[i][i] HttpHost[] httpHostArray = new HttpHost[split.length]; [/i][/i]
[i][i] for(int i=0;i<split.length;i++){ [/i][/i]
[i][i] String item = split[i]; [/i][/i][/i]
[i][i][i] httpHostArray[i] = new HttpHost(item.split(":")[0], Integer.parseInt(item.split(":") [1]), "http"); [/i][/i][/i][/i]
[i][i][i][i] } [/i][/i][/i][/i]
[i][i][i][i] return RestClient.builder(httpHostArray).build(); [/i][/i][/i][/i]
[i][i][i][i] } }
|