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' 拒绝的权限>,于是经常遇到人问...干脆写下来 '声明 ...
随机推荐
- dotnet 8 WPF 支持在 RDP 远程桌面状态下启用渲染硬件加速
本文将和大家介绍在 dotnet 8 里 WPF 引入的新功能之一,在 RDP 远程桌面状态下启用渲染硬件加速 在 dotnet 8 之前,在用户进行 RDP 远程桌面时 WPF 应用将默认关闭硬件渲 ...
- WPF 漂亮的现代化控件 新 ModernWPF 界面库
这是一个在 GitHub 上完全开源的库,有十分漂亮的界面,整个都是 Win10 风,界面部分和默认 UWP 相近 这个库支持了 .NET Framework 4.5 和以上的版本,以及 .NET C ...
- js的几个截取
jsfun(){ let str = '01234567' let str1 str1 = str.slice(2,5) ...
- 表和数据连接,而不是和表连接(JOIN)
1.连接数据,但是顺序会受影响 在使用JOIN连接临时表或子查询时,无法保证结果的顺序与特定值的顺序完全一致.这是因为在查询过程中,数据库优化器可能会选择不同的执行计划,导致结果的顺序发生变化. SE ...
- 再聊解除HiddenApi限制
炒冷饭,再聊聊大家都知晓的隐藏接口的限制解除. 说明 由于我们容器产品的特性,需要将应用完整的运行起来,所以必须涉及一些隐藏接口的反射调用,而突破反射限制则成为我们实现的基础.现将我们的解决方案分享给 ...
- Threading Programming Guide:Thread Management
Thread Cost 创建线程是有开销的,这些开销主要包括空间上的开销以及时间上的开销:在kernel里面分配存储空间,用来存储线程相关的数据和属性:线程的栈空间:线程创建的时间.总结如下: Ite ...
- Java面试题:@PostConstruct、init-method和afterPropertiesSet执行顺序?
在Spring框架中,@PostConstruct注解.init-method属性.以及afterPropertiesSet()方法通常用于初始化Bean的逻辑.它们都提供了在Bean创建和初始化完成 ...
- Javascript/DOM:如何删除 DOM 对象的所有事件侦听器
Javascript/DOM:如何删除 DOM 对象的所有事件侦听器 一.重写 重写 EventTarget 添加监听事件方法 addEventListener if (EventTarget.pro ...
- java jdbc 得到像C#里的datatable一样的表格
public ArrayList<ArrayList<String>> getDataTale2(String sql) throws SQLException { Array ...
- [快速阅读六] 统计内存数据中二进制1的个数(SSE指令集优化版).
关于这个问题,网络上讨论的很多,可以找到大量的资料,我觉得就就是下面这一篇讲的最好,也非常的全面: 统计无符号整数二进制中 1 的个数(Hamming Weight) 在指令集不参与 ...