11.context_suggester
文章目录
- 1. 上下文context suggester
- 2. category index 操作
- 3. category 查找
- 4. geo index
- 5. geo search
1. 上下文context suggester
completion suggester会考虑索引中的所有文档,但有些情况下我们希望在复合一定的过滤条件的范围内获得suggest。例如,您想建议由某些艺术家的歌曲标题,或者您要根据其类型来提升某些歌曲标题的权重。
为了实现过滤或增强suggest,您可以在配置completion字段的mapping时添加上context mappings。可以为completion字段定义多个上context mappings。每个context mappings都有唯一的name和type。有两种type:category 和 geo。上下文映射在字段映射中的contexts参数下配置。
使用样例
PUT place
{"mappings": {"properties" : {"suggest" : {"type" : "completion","contexts": [{ "name": "place_type", # 定义context的name"type": "category" # 定义context的类型,在index的时候必须提供这个context的内容},{ "name": "location","type": "geo","precision": 4}]}}}
}
PUT place_path_category
{"mappings": {"properties" : {"suggest" : {"type" : "completion","contexts": [{ "name": "place_type","type": "category","path": "cat" # 定义了place_type context的内容从cat field读取, 在index的时候不用再提供这个context的内容了,只需要提供cat的内容},{ "name": "location","type": "geo","precision": 4,"path": "loc" # 定义了location context对应的内容从loc field读取}]},"loc": {"type": "geo_point"}}}
}
2. category index 操作
PUT place/_doc/1
{"suggest": {"input": ["timmy's", "starbucks", "dunkin donuts"],"contexts": {"place_type": ["cafe", "food"] }}
}PUT place_path_category/_doc/1
{"suggest": ["timmy's", "starbucks", "dunkin donuts"],"cat": ["cafe", "food"]
}
3. category 查找
POST place/_search?pretty
{"suggest": {"place_suggestion" : {"prefix" : "tim","completion" : {"field" : "suggest","size": 10,"contexts": {"place_type": [ "cafe", "restaurants" ]}}}}
}
POST place/_search?pretty
{"suggest": {"place_suggestion" : {"prefix" : "tim","completion" : {"field" : "suggest","size": 10,"contexts": {"place_type": [ { "context" : "cafe" },{ "context" : "restaurants", "boost": 2 }]}}}}
}
4. geo index
geo多了一个属性交precision 定义了精度
PUT place/_doc/1
{"suggest": {"input": "timmy's","contexts": {"location": [{"lat": 43.6624803,"lon": -79.3863353},{"lat": 43.6624718,"lon": -79.3873227}]}}
}
5. geo search
POST place/_search
{"suggest": {"place_suggestion" : {"prefix" : "tim","completion" : {"field" : "suggest","size": 10,"contexts": {"location": {"lat": 43.662,"lon": -79.380}}}}}
}
POST place/_search?pretty
{"suggest": {"place_suggestion" : {"prefix" : "tim","completion" : {"field" : "suggest","size": 10,"contexts": {"location": [ {"lat": 43.6624803,"lon": -79.3863353,"precision": 2},{"context": {"lat": 43.6624803,"lon": -79.3863353},"boost": 2}]}}}}
}
11.context_suggester相关推荐
- Redis 笔记(11)— 文本协议 RESP(单行、多行字符串、整数、错误、数组、空值、空串格式、telnet 登录 redis)
RESP 是 Redis 序列化协议Redis Serialization Protocol 的简写.它是一种直观的文本协议,优势在于实现异常简单,解析性能极好. Redis 协议将传输的结构数据 ...
- Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)
1. 理解输入和输出 1.1 标准文件描述符 Linux 系统将每个对象当作文件处理.这包括输入和输出进程.Linux 用文件描述符(file descriptor)来标识每个文件对象.文件描述符是一 ...
- 只要5分钟用数据可视化带你看遍11月份新闻热点事件
2017年11月份已经离我们而去,在过去的11月份我们也许经历了双十一的剁手,也可能亲眼看见了别人剁手.11月份的北京大兴区发生了"11·18"重大火灾,国内多家幼儿园也多次上了头 ...
- 1-1 机器学习和深度学习综述-paddle
课程>我的课程>百度架构师手把手教深度学习>1-1 机器学习和深度学习综述> 1-1 机器学习和深度学习综述 paddle初级课程 王然(学生) Notebook 教育 初级深 ...
- CUDA 11功能清单
CUDA 11功能清单 基于NVIDIA Ampere GPU架构的新型NVIDIA A100 GPU在加速计算方面实现了最大的飞跃.A100 GPU具有革命性的硬件功能,CUDA 11与A100一起 ...
- 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事
保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...
- CUDA 11功能展示
CUDA 11功能展示 CUDA 11 Features Revealed 新的NVIDIA A100 GPU基于NVIDIA安培GPU架构,实现了加速计算的最大一代飞跃.A100 GPU具有革命性的 ...
- 深度学习11个实用技巧
深度学习11个实用技巧 深度学习工程师George Seif发表了一篇博文,总结了7个深度学习的技巧,本文增加了几个技巧,总结了11个深度学习的技巧,主要从提高深度学习模型的准确性和速度两个角度来分析 ...
- 【CV】吴恩达机器学习课程笔记第11章
本系列文章如果没有特殊说明,正文内容均解释的是文字上方的图片 机器学习 | Coursera 吴恩达机器学习系列课程_bilibili 目录 11 机器学习系统设计 11-1 确定执行的优先级:以垃圾 ...
最新文章
- 【错误里程表】8进制转10进制
- ES Segment Memory——本质上就是segment中加到内存的FST数据,因此segment越多,该内存越大...
- 【转】 ABAP中的异常处理 - TRY CATCH的使用实例
- python database is locked_sqlite遇到database is locked问题的完美解决
- Android后台保活实践总结:即时通讯应用无法根治的“顽疾”
- 如何洗脸才正确?洗脸也有讲究 - 生活至上,美容至尚!
- 现在的年轻人,正在努力的改变着一些东西
- 高通计划通过多层级骁龙5G移动平台 加速5G商业化
- 利用WPF创建含多种交互特性的无边框窗体
- potplayer如何设置以一帧一帧的逐帧播放播放?
- unity3d中的旋转
- 数仓OLAP(一)--即席查询 Kylin
- 实战pixi+gsap,仿刹车动画
- TWEN-ASR ONE 语音识别系列教程(2)--- GPIO、ADC、PWM的使用
- 指针实现写一个函数,将一个3×3的整数矩阵转置
- lisp 标注螺纹孔_螺纹的规定画法及规定标注
- C++ 数据结构之队列queue (henu.hjy)
- 从红帽官网下载redhat企业版系统镜像
- 车载环境下的噪声分析
- 5G时代,给商业带来哪些机会和革新呢?
热门文章
- 【玩转cocos2d-x之三十五】Earth Warrior 3D大揭秘
- PulseAudio 设计和实现浅析
- PyCairo 教程
- 亿级流量系统架构演进之路
- Netty学习笔记(二)Netty服务端流程启动分析
- 深刻好文|关于资产与负债的思考(国庆活动开启)
- 选择比努力更重要,面试新公司,从哪些细节能判断公司的前途?项目的好坏?...
- k8s 为何成为大厂标配?
- 由“深”至“广”,探索2022音视频技术的无限可能
- SoundStream VS Lyra: 谷歌今年新推出的两款AI音频编解码器有何不同?