12.3.19 fields ——elasticsearch中文文档
来源:互联网 发布:json在线编辑器 编辑:程序博客网 时间:2024/06/06 15:36
12.3.19 fields 原文链接 翻译:AbnerGong
fields
它常常用于索引不同目的不同方式的相同域。这是multi-fields多字段的目的。例如一个字符串域既可以用作分词域来进行全文检索,也可以用作不分词域来进行搜索或聚合。
PUT /my_index{ "mappings": { "my_type": { "properties": { "city": { "type": "string", "fields": { "raw": { #注释1:city.raw字段是city字段的不分词版本 "type": "string", "index": "not_analyzed" } } } } } }}PUT /my_index/my_type/1{ "city": "New York" }PUT /my_index/my_type/2{ "city": "York" #注释2:分词字段city能用来全文搜索}GET /my_index/_search{ "query": { "match": { "city": "york" } }, "sort": { "city.raw": "asc" #注释3:city.raw字段能用来排序和聚合 }, "aggs": { "Cities": { "terms": { "field": "city.raw" #注释4:city.raw字段能用来排序和聚合 } } }}
【注意】Multi-fields不改变_source
字段。
【提示】fields
设置允许对相同索引中的同名字段有不同的设置。新的multi-fields能使用[PUT mapping API](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html)
添加到已经存在的字段中
用多分词器的多字段(Multi-fields)
另一个多字段(multi-fields)的用画图是分词相同的字段用不同的方式,为了更好的相关。例如我们可以索引一个字段用标准分词器分成单词,也可以再用英语分词器将它们变成词根形式
PUT my_index{ "mappings": { "my_type": { "properties": { "text": { #注释1:``text``字段使用标准分词器 "type": "string", "fields": { "english": { #注释2::``text.english``字段使用``english``分词器 "type": "string", "analyzer": "english" } } } } } }}PUT my_index/my_type/1{ "text": "quick brown fox" } #注释3:检索两个文档,一个用``fox``另一个用``foxes``PUT my_index/my_type/2{ "text": "quick brown foxes" } #注释4:同注释3GET my_index/_search{ "query": { "multi_match": { "query": "quick brown foxes", "fields": [ #注释5:查询``text``和``text.english``字段并且组合得分 "text", "text.english" ], "type": "most_fields" #注释6:同注释5 } }}
text
字段包含了单词fox
在第一个文档中,并且在第二个文档中包含了foxes
。text.english
字段包含fox
在两个文档中,因为foxes
的词干(is stemmed to)是fox
查询字符串也能被text
字段的标准分词器分词,并且被text.english
字段的英语分词器分词。词干化字段允许foxes
的查询也匹配只包含fox
的文档。这允许我们匹配尽可能多的文档。通过也查询未词干化的text
字段,我们提供精确匹配foxes
的文档的相关得分。
0 0
- 12.3.19 fields ——elasticsearch中文文档
- elasticsearch-logstash-kibana中文文档
- spring data elasticsearch 中文文档
- elasticsearch小记之——中文分词
- Elasticsearch学习笔记:multi-fields
- Android—API中文文档
- poj2226——Muddy Fields
- POJ3254——Corn Fields
- elasticsearch 文档
- elasticsearch中文分词(mmseg)——手动添加词典
- Elasticsearch Fields _source 返回值字段设置
- 12.2 元字段(Meta-Fields) (for Elasticsearch)
- ckeditor中文文档——开发者文档(1)安装
- ckeditor中文文档——开发者文档(2)整合
- weblogic中文文档——domain_config
- Android中文文档——工具屋
- Vitamio中文API文档—— VideoView
- Vitamio中文API文档—— MediaController
- PAT (Advanced Level) Practise 1029 Median (25)
- ThreadLocal的原理
- TOYS(水解析)
- Python使用mechanize模拟登录、抓取数据的代码
- Delphi IDHTTP用法详解
- 12.3.19 fields ——elasticsearch中文文档
- C++Const
- 小算法:获得一个数的所有可能性组合
- fresco解析之Hierarchy
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-78: ordinal not in range(128
- 基于消息的分布式架构
- 使用PagerTabStrip配合ViewPager实现左右滑动标题栏的效果
- 免费的 Bootstrap 的后台管理模板
- 【小白学OpenCV】(零)——计算机图像基础