<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://unpkg.com/vue@next"></script>
<!-- import CSS -->
<link rel="stylesheet" href="https://unpkg.com/element-plus/lib/theme-chalk/index.css">
<!-- import JavaScript -->
<script src="https://unpkg.com/element-plus/lib/index.full.js"></script>
<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>
<!-- 引入组件库 -->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<style>
em {
color: red;
}
</style>
</head>
<body>
<div id="app">
<input type="text" v-model="title" @blur="blur">请搜索
<div v-for="item in data ">
<div v-html="item.highlight.article[0]" ></div>
</div>
</div>
</body>
<script>
const App={
data() {
return {
title:"",
data:""
}
},
methods:{
blur(){
axios.post('http://bwjy.com/ks/ElController/search', {
title:this.title
})
.then(response=>(this.data=(response.data.msg.hits.hits)))
}
},
}
const app = Vue.createApp(App);
app.use(ElementPlus);
app.mount("#app")
</script>
</html>
//建立索引
$client = ClientBuilder::create()->setHosts(["127.0.0.1:9200"])->build();
$params = [
'index' => 'my_index',
'body' => [
'settings' => [
'number_of_shards' => 5,
'number_of_replicas' => 1
],
'mappings' => [
'properties' => [
'title' => [
'type' => 'text',
'analyzer' => 'ik_max_word',
'search_analyzer' => 'ik_max_word'
],
'content' => [
'type' => 'text',
'analyzer' => 'ik_max_word',
'search_analyzer' => 'ik_max_word'
],
]
]
]
];
$client->indices()->create($params);
//添加数据
$params = [
'index' => 'my_index',
'body' => ['title' => '悲观张三锁与乐观锁是人们定义出来的概念,你可以理解为一种思想,是处理并发资源的常用手段。','content'=>'测试数据']
];
$response = $client->index($params);
print_r($response);
//高亮显示
$params = [
'index' => 'my_index',
'body' => [
'query' => [
'multi_match' => [
'query' => '张三',
'fields' => ['title']
]
],
'highlight' => [
'fields' => [
'*' => new Highlighter()
]
]
]
];
$response = $client->search($params);
print_r($response);