es语法 rest api 模拟根据歌手,歌名,歌词来搜索demo
#创建索引
songs_v1 PUT
{ -
"acknowledged": true,
"shards_acknowledged": true,
"index": "songs_v1"
}
#创建映射 高版本的没有type,可以使用默认的_doc,避免不同的type之间存在相同的字段名,但是字段类型不同的问题。
{ -
"error": "no handler found for uri [/songs_v1/mapping/popular] and method [PUT]"
}
_doc
{ -
"error": { -
"root_cause": [ -
{ -
"type": "illegal_argument_exception",
"reason": "Types cannot be provided in put mapping requests"
}
],
"type": "illegal_argument_exception",
"reason": "Types cannot be provided in put mapping requests"
},
"status": 400
}
songs_v1/_mapping/ PUT
songs_v2/_mappings PUT 也成功
{
"properties":{
"songName":{"type":"text"},
"singer":{"type":"text"},
"lyrics":{"type":"text"}
}
}
返回
{ -
"acknowledged": true
}
浏览器上面访问
http://IP:9200/songs_v1/_settings?pretty
http://IP:9200/songs_v1/_mappings?pretty
红色框的{}需要去掉。
索引数据
songs_v2/_doc POST
{
"songName":"tianyi",
"singer":"liudehua",
"lyrics":"shui zai hu wo de xin li you duo ku"
}
返回
{ -
"_index": "songs_v2",
"_id": "40nNMYEBLnSF9_D_lR0_",
"_version": 1,
"result": "created",
"_shards": { -
"total": 2,
"successful": 1,
"failed": 0
},
"_seq_no": 0,
"_primary_term": 1
}
查询,根据歌手查询
songs_v2/_search?q=singer:liudehua GET
根据歌词查询
songs_v2/_search?q=lyrics:duo GET
根据歌名来查询
songs_v2/_search?q=songName:wangqingshui
文本匹配不到问题
因ES分词处理导致匹配不到
不需要做模糊查询的字段,使用keyword代替text,避免创建索引的时候对这些词进行分词。
查询全部
songs_v2/_search
{
"query": {
"match_all": {
"boost": 1
}
}
}
根据歌名查询
songs_v2/_search
{
"from": 0,
"size": 5,
"timeout": "60s",
"query": {
"term": {
"songName": {
"value": "tianyi",
"boost": 1
}
}
}
}
es语法 rest api 模拟根据歌手,歌名,歌词来搜索demo的更多相关文章
- 【百度地图API】如何区分地址解析和智能搜索?
原文:[百度地图API]如何区分地址解析和智能搜索? 摘要: 很多用户一直无法区分地址解析geocoder和智能搜索localsearch的使用场景.该文章用一个详尽的示例,充分展示了这两个类,共5种 ...
- 【百度地图API】如何制作公交线路的搜索?如331路
原文:[百度地图API]如何制作公交线路的搜索?如331路 摘要: 从A点到B点的公交导航大家都知道怎么做了,那么单独查询331路公交车的公交路线,如何制作呢?我们一起来学习一下~ --------- ...
- ES 19 - Elasticsearch的检索语法(_search API的使用)
目录 1 Search API的基本用法 1.1 查询所有数据 1.2 响应信息说明 1.3 timeout超时机制 1.4 查询多索引和多类型中的数据 2 URI Search的用法 2.1 GET ...
- 使用 Web API 模拟其他用户
模拟的要求 模拟可代表另一个 Microsoft Dynamics CRM 用户,用于执行业务逻辑(代码)以便提供所需功能或服务,它使用模拟用户的相应角色和基于对象的安全性.这项技术很有必要,因为 M ...
- OpenGL ES: (4) EGL API详解 (转)
上一节我们初步学习了 OpenGL ES.EGL.GLSL 的相关概念,了解了它们的功能,以及它们之间的关联.我们知道了 EGL 是绘制 API(比如 OpenGL ES)与 底层平台窗口系统之间的接 ...
- ES语法(简)
1.上编写到怎样安装部署elk,这篇记录怎样简单使用.以便于后期复习使用. 2.登录localhost:5601进入开发者模式. 3.初学担心没有数据可以自己PUT数据比较直观的学习语法.这里可以用网 ...
- ES语法注意事项
在函数内部定义全局变量:举个栗子 function fn(){ var str = "hezhi"; } -alert(str) //=>fn不执行的 =>str is ...
- ES入门REST API
在ES中存在4种数据对象,分别是 index , type , document , field . 其跟我们熟悉的关系型数据库得二维表得对应关系为: index -> table表 ...
- ES 常用java api
java rest client 有两种: 1.Java Low Level REST Client :用于Elasticsearch的官方低层客户端.它允许通过http与Elasticsearch集 ...
- VB用API模拟截屏键PrintScreen
很多人用 SendKeys "{PRTSC}" 模拟截屏键 PrintScreen 的时候提示<错误:'70' 拒绝的权限>,于是经常遇到人问...干脆写下来 '声明 ...
随机推荐
- 应对 Job 场景,Serverless 如何帮助企业便捷上云
简介:函数计算作为事件驱动的全托管计算服务,其执行模式天生就与这类 Job 场景非常契合,对上述痛点进行了全方面的支持,助力"任务"的无服务器上云. 作者:冯一博 任务(Jobs) ...
- Flink 在顺丰的应用实践
简介: 顺丰基于 Flink 建设实时数仓的思路,引入 Hudi On Flink 加速数仓宽表,以及实时数仓平台化建设的实践. 本⽂由社区志愿者苗文婷整理,内容源⾃顺丰科技大数据平台研发工程师龙逸 ...
- [FAQ] 部署二进制运行时 go-ego/gse 如何正确加载分词字典
运行Golang编译后二进制运行时,此时运行二进制时所在目录就是Golang源码程序认为的根目录了. 所以只需要把字典文件拷贝到与二进制所在同一目录内,然后使用 seg.LoadDict('dicti ...
- dotnet OpenXML 读取形状轮廓线条样式序号超过主题样式列表数
在 OpenXML 中,默认的形状可以通过指定 LineReference 让形状使用文档主题里面的样式.文档主题里面包含多个样式,在形状里面指定样式通过的是序号的方法,如果在形状里面指定的序号超过了 ...
- 【Buildroot】使用记录
一.概述 之前只使用过 busybox,每次配置完 roots 文件时,只具备一些基础的工具,像移植 QT 之类的就显得很麻烦.直到现在接触到了 Buildroot,才发现配置工具可以这么简单,对于自 ...
- C++ 异常处理机制详解:轻松掌握异常处理技巧
C++ 异常处理 C++ 异常处理机制允许程序在运行时处理错误或意外情况.它提供了捕获和处理错误的一种结构化方式,使程序更加健壮和可靠. 异常处理的基本概念: 异常: 程序在运行时发生的错误或意外情况 ...
- lodash中的深拷贝方法cloneDeep()
- Golang 爬虫02
验证邮箱 目标站点: https://movie.douban.com/top250
- DB2 关联更新
update GIS_TER_ADDRESS_MSG set (POS_X,POS_Y)=(select LAT,LON from TEMP_ATM where GIS_TER_ADDRESS_MSG ...
- WebGL:使用着色器进行几何造型
前言 本文将介绍如何使用着色器来进行几何造型,说到几何图形大家一定都不陌生,比如说三角形.圆形,接触过WebGL基础使用的小伙伴一定都知道怎么去在画布上绘制一个三角形,只要传入三个顶点坐标,并选择绘图 ...