网站首页 > 教程文章 正文
1.创建es索引,使用分词
PUT test{
"settings":{ "number_of_shards":5,//分片 "number_of_replicas":1,//服务器台数 "analysis":{ "analyzer":{ "ik":{"tokenizer":"ik_max_word"}//设置分词解释器 } } }, "mappings":{ "properties":{ "name":{ "type":"text" }, "class":{ "type":"text" } } } }
2.插入数据
POST /test/_doc/1{
"name":"西红柿",
"class":"水果"
}
3.创建位置索引,根据
//地理位置
PUT /address{
"mappings": {
"properties": { "name": { "type": "text" }, "location": { "type": "geo_point" } } }}
4.插入地理位置坐标
POST /address/_doc/1
{
"name": "广州公园前",
"location": "23.131479, 113.270719"
}
5.根据各个位置地点的距离匹配精确度
GET / address / _search
{
"query": {
"bool": {
"filter": {
"geo_distance": {
"distance": "1km",
"location": {
"lat": 23.131304,
"lon": 113.262402
}
}
}
}
},
"sort": [ {
"_geo_distance": {
"unit": "km", "location": { "lat": 23.131304, "lon": 113.262402 }, "order": "asc" } } ]}
6.查看ik分词结果
GET _analyze{
"analyzer":"ik_max_word"
"text":"中华人民共和国"
}
7.批量插入数据代码来实现如php
//未指定id,使用es自动生成的id
for ($i = 0; $i < 5; $i++)
{
$params['body'][] = [
'index' => [
'_index' => 'testpeople',
'_type' => '_doc',
]
];
$params['body'][] = [
'age' => 17 + $i
];
}
//如果指定id的话
for ($i = 0; $i < 5; $i++)
{
$params['body'][] = [
'create' => [ #未指定id使用create创建
'_index' => 'my_index',
'_type' => '_doc',
'_id' => $i
]
];
$params['body'][] = [
'age' => 17 + $i
];
}
$ElasticSearch = new ElasticSearch();
$ElasticSearch->postBulkDoc($params);
7.删除操作
//批量删除
DELETE testpeople/_doc/delete_by_query
{
"query":{
"match_all":{}
}
}
//单个删除,根据id删除
DELETE testpeople/_doc/1
猜你喜欢
- 2024-12-10 Weex在内涵发现页中的工程实践
- 2024-12-10 webpack 基础配置解析
- 2024-12-10 程序员必备的高效开发工具盘点与使用技巧
- 2024-12-10 十大必须掌握的 Chrome 浏览器开发者工具
- 2024-12-10 (建议收藏) | 企业中Vue.js最常用的第三方插件
- 2024-12-10 如何写一个webpack插件(一)
- 2024-12-10 想成为开发高手?20 条 Chrome DevTools 使用建议
- 2024-12-10 【保姆级教程】Vue项目调试技巧
- 2024-12-10 前端开发3年了,竟然不知道什么是 Vue 脚手架?(上)
- 2024-12-10 彻底理解服务端渲染 - SSR原理
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)