文章目录

  • 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相关推荐

  1. Redis 笔记(11)— 文本协议 RESP(单行、多行字符串、整数、错误、数组、空值、空串格式、telnet 登录 redis)

    RESP 是 Redis 序列化协议Redis Serialization Protocol 的简写.它是一种直观的文本协议,优势在于实现异常简单,解析性能极好. ​ Redis 协议将传输的结构数据 ...

  2. Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)

    1. 理解输入和输出 1.1 标准文件描述符 Linux 系统将每个对象当作文件处理.这包括输入和输出进程.Linux 用文件描述符(file descriptor)来标识每个文件对象.文件描述符是一 ...

  3. 只要5分钟用数据可视化带你看遍11月份新闻热点事件

    2017年11月份已经离我们而去,在过去的11月份我们也许经历了双十一的剁手,也可能亲眼看见了别人剁手.11月份的北京大兴区发生了"11·18"重大火灾,国内多家幼儿园也多次上了头 ...

  4. 1-1 机器学习和深度学习综述-paddle

    课程>我的课程>百度架构师手把手教深度学习>1-1 机器学习和深度学习综述> 1-1 机器学习和深度学习综述 paddle初级课程 王然(学生) Notebook 教育 初级深 ...

  5. CUDA 11功能清单

    CUDA 11功能清单 基于NVIDIA Ampere GPU架构的新型NVIDIA A100 GPU在加速计算方面实现了最大的飞跃.A100 GPU具有革命性的硬件功能,CUDA 11与A100一起 ...

  6. 保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事

    保护嵌入式802.11 Wi-Fi设备时需要考虑的10件事 10 things to consider when securing an embedded 802.11 Wi-Fi device 随着 ...

  7. CUDA 11功能展示

    CUDA 11功能展示 CUDA 11 Features Revealed 新的NVIDIA A100 GPU基于NVIDIA安培GPU架构,实现了加速计算的最大一代飞跃.A100 GPU具有革命性的 ...

  8. 深度学习11个实用技巧

    深度学习11个实用技巧 深度学习工程师George Seif发表了一篇博文,总结了7个深度学习的技巧,本文增加了几个技巧,总结了11个深度学习的技巧,主要从提高深度学习模型的准确性和速度两个角度来分析 ...

  9. 【CV】吴恩达机器学习课程笔记第11章

    本系列文章如果没有特殊说明,正文内容均解释的是文字上方的图片 机器学习 | Coursera 吴恩达机器学习系列课程_bilibili 目录 11 机器学习系统设计 11-1 确定执行的优先级:以垃圾 ...

最新文章

  1. 【错误里程表】8进制转10进制
  2. ES Segment Memory——本质上就是segment中加到内存的FST数据,因此segment越多,该内存越大...
  3. 【转】 ABAP中的异常处理 - TRY CATCH的使用实例
  4. python database is locked_sqlite遇到database is locked问题的完美解决
  5. Android后台保活实践总结:即时通讯应用无法根治的“顽疾”
  6. 如何洗脸才正确?洗脸也有讲究 - 生活至上,美容至尚!
  7. 现在的年轻人,正在努力的改变着一些东西
  8. 高通计划通过多层级骁龙5G移动平台 加速5G商业化
  9. 利用WPF创建含多种交互特性的无边框窗体
  10. potplayer如何设置以一帧一帧的逐帧播放播放?
  11. unity3d中的旋转
  12. 数仓OLAP(一)--即席查询 Kylin
  13. 实战pixi+gsap,仿刹车动画
  14. TWEN-ASR ONE 语音识别系列教程(2)--- GPIO、ADC、PWM的使用
  15. 指针实现写一个函数,将一个3×3的整数矩阵转置
  16. lisp 标注螺纹孔_螺纹的规定画法及规定标注
  17. C++ 数据结构之队列queue (henu.hjy)
  18. 从红帽官网下载redhat企业版系统镜像
  19. 车载环境下的噪声分析
  20. 5G时代,给商业带来哪些机会和革新呢?

热门文章

  1. 【玩转cocos2d-x之三十五】Earth Warrior 3D大揭秘
  2. PulseAudio 设计和实现浅析
  3. PyCairo 教程
  4. 亿级流量系统架构演进之路
  5. Netty学习笔记(二)Netty服务端流程启动分析
  6. 深刻好文|关于资产与负债的思考(国庆活动开启)
  7. 选择比努力更重要,面试新公司,从哪些细节能判断公司的前途?项目的好坏?...
  8. k8s 为何成为大厂标配?
  9. 由“深”至“广”,探索2022音视频技术的无限可能
  10. SoundStream VS Lyra: 谷歌今年新推出的两款AI音频编解码器有何不同?