首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在弹性搜索中将索引的字段类型更改为新索引

在弹性搜索中将索引的字段类型更改为新索引
EN

Stack Overflow用户
提问于 2018-01-16 14:38:01
回答 1查看 1.8K关注 0票数 0

假设我有索引,它的映射如下所示:

代码语言:javascript
运行
AI代码解释
复制
curl -XPUT 'http://localhost:9200/oldindex/_mapping/book' -d '
   {
    "book" : {
        "properties" : {
            "title" : {"type" : "text"},
            "words" : {"type" : "text"},
            "pages": {"type": "int"}
        }
     }
   }'

我想从旧索引中创建一个新索引,但现在我希望“word”type字段是“关键字”,而不是"text":

代码语言:javascript
运行
AI代码解释
复制
curl -XPUT 'http://localhost:9200/oldindex/_mapping/book' -d '
       {
        "book" : {
            "properties" : {
                "title" : {"type" : "text"},
                "words" : {"type" : "keyword"},
                "pages": {"type": "int"}
            }
         }
       }'

我怎么能这么做?我是否可以使用"Reindex API“,或者有更好的解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-16 15:01:01

假设您不需要索引上的另一个字段(如wordsKeyword ),那么重新索引API可能是最好的。将数据移动到临时索引,对索引进行核化并重新创建它(通过更新的映射),然后将临时索引数据重新索引到新索引中。

一步一步地说,这是:

  1. 创建具有新映射的新索引。
  2. 通过再索引将数据从旧索引复制到新索引。
  3. 删除旧索引。
  4. 使用新映射重新创建旧索引。
  5. 通过_reindex将数据从新索引复制到旧索引。
  6. 删除新索引。-“旧索引”(从技术上讲是同名的新索引)现在将有更新的地图和数据。总共有五个API调用(两个_reindexes将数据移动到新的映射,然后将其移回)

如果您不介意使用另一个字段,并且不想重新索引,则可以使用查询 API通过脚本将值逐字逐句地复制到新映射的keyword字段中,从而减少对text字段的推荐。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48290970

复制
相关文章
js如何将带有分割符的字符串转化成一个n维数组
var str = “A-2-12”; var str1 = str.split(’-’); console.log(str1); var arr = str1.reverse().reduce((pre,cur,i) => { if(i==0) { pre.push(cur) return pre } return [cur,pre] },[]) console.log(arr) // [“A”[“B”,[“C”]]]
马克社区
2022/07/01
1.8K0
数组外面包了引号,怎么去掉外面的引号,变成原来的数组
let arr = '["qq","nn","555","456"]' let b= eval(arr) 一个神奇的eval()函数就能搞定 代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="http://code.jquery.com/jquery-1.8.0.min.js"></script> <title></title> </head> <
王小婷
2021/07/21
2.5K1
数组外面包了引号,怎么去掉外面的引号,变成原来的数组
如何将路径字符串数组(string[])转成树结构(treeNode[])?
这里说明一下,array2Tree()方法中的clientLabel参数其实可要可不要,也可继续扩展,根据自身业务而定。
唐志远
2023/08/01
2560
如何将路径字符串数组(string[])转成树结构(treeNode[])?
如何将路径字符串数组(string[])转成树结构(treeNode[])?
这里说明一下,array2Tree()方法中的clientLabel参数其实可要可不要,也可继续扩展,根据自身业务而定。
唐志远
2023/07/24
2430
如何将路径字符串数组(string[])转成树结构(treeNode[])?
delphi字符串加引号_oracle 单引号
sp_qry.Close; sp_qry.SQL.Clear; sp_qry.SQL.Add(‘select * from item_info where item_clsno=’+quotedstr(sp_lb.KeyValue)); sp_qry.Open;
全栈程序员站长
2022/11/10
1.4K0
字符串 str 包含单个数组带的双引号怎么处理?
要将字符串 "[["121.489764476833","31.3215977774656"]]" 中的双引号去掉,并将内部的经纬度值变为数字类型,你可以使用以下代码:
王小婷
2023/08/26
3170
字符串 str 包含单个数组带的双引号怎么处理?
C++对象模型_Class Obj作为函数参数
开发环境 VC6.0 编辑器 Cmd Markdown 关于C/C++中基本类型(如:int,int*等)作为函数参数时,是通过将该变量的值压栈来进行参数传递;本文通过C++反汇编代码分析了当对象作为函数参数时(该形参非引用或指针),参数如何传递以及此时栈帧的结构。 对象作为函数参数时,参数传递过程(如:函数的声明为:void show(class Object obj);该函数的调用的为show(arg);其中实参arg的类型为class Object):1,在栈顶上为obj对象分配内存空间,然
chinchao.xyz
2022/04/25
1.2K0
C++对象模型_Class Obj作为函数参数
c++如何将字符串转为数组(将字符串转换为数组)
string [] imgArr=imgData.Split(new char[]{‘,’});
全栈程序员站长
2022/07/29
7.1K0
【Python】字符串 ① ( Python 字符串定义形式 | 单引号定义法 | 双引号定义法 | 三引号定义法 | 字符串中包含单引号或双引号的处理方式 )
文章目录 一、Python 字符串定义形式 二、字符串中包含 单引号 / 双引号 一、Python 字符串定义形式 ---- Python 字符串定义形式 : 单引号定义法 : name = 'Tom' 双引号定义法 : name = "Tom" 三引号定义法 : 该定义方式与多行注释相同 , 使用 三引号 定义字符串 : 如果使用变量接收 , 那么定义的就是字符串 ; 如果没有变量接收 , 那么定义的就是多行注释 ; name = """Tom""" 代码示例 : # 单引号定义字符串 nam
韩曙亮
2023/04/07
3.2K0
【Python】字符串 ① ( Python 字符串定义形式 | 单引号定义法 | 双引号定义法 | 三引号定义法 | 字符串中包含单引号或双引号的处理方式 )
React技巧之将useState作为字符串数组
原文链接:https://bobbyhadz.com/blog/react-typescript-usestate-empty-object[1]
chuckQu
2022/08/19
8330
React技巧之将useState作为字符串数组
Python 引号、注释、字符串
Python3.6.3    json==2.0.9    win10.0.17134
用户7886150
2021/01/13
9430
[oeasy]python0052_ raw格式字符串_单引号_双引号_反引号_ 退格键
转义字符回忆上次内容最近玩的是\n、\r 之外的转义序列 \a是 ␇ (bell)\t是 水平制表符\v是 换行不回车通过 16 进制数值转义 \xhh把(hh)16 进制对应的 ascii 字符输出通过 8 进制数值转义 \ooo把(nnn)8 进制对应的 ascii 字符输出这次加了 转义输出 反斜杠本身 \\ 输出 \总是转义 还是挺麻烦的能否直接输出原样输出呢?搜索帮助找到raw stringrawr的含义是 raw原始原样如果是有r就原样输出为什么raw就是原始原样呢?raw生的食物 没有
oeasy
2023/01/17
1.7K0
[oeasy]python0052_ raw格式字符串_单引号_双引号_反引号_ 退格键
shell字符串单双引号的坑
运行非常成功!结果正常输出!然后我就愉快地去重并call variant,但是当我查看g.vcf文件时发现样本名为W0
生信技能树
2021/02/04
5K0
Golang的单引号、双引号与反引号
而单引号则用于表示Golang的一个特殊类型:rune,类似其他语言的byte但又不完全一样,是指:码点字面量(Unicode code point),不做任何转义的原始内容。
py3study
2020/01/02
3.9K0
JavaScript之字符串引号的使用技巧
在JavaScript中可以随意使用引号,但是最好根据字符串包含的字符来选择。 1.如果字符串里面包含了单引号,那就把字符串放在双引号里面 var age = "this is 'pig'? "; 2
郑小超.
2018/01/24
1K0
Java处理包含引号的String字符串
背景 在开发默认提示文字时: 解决方案 转义 使用\"代替" 效果 正常
JavaEdge
2021/02/22
1.8K0
Java处理包含引号的String字符串
LinuxShell单引号、双引号、反引号以及无引号的区别
单引号为强引用,即将单引号中的内容原样输出,而不会对任何变量函数进行解析。比如在 Shell 中输入以下代码:
hotarugali
2022/02/28
5.6K0
数组作为实参,指针作为形参
这样传递下来,buffer数组的值为{0x0101,0x0202,0,0,0,0}。函数将地址data后的两个16位的数赋值给地址buffer后的两个16位数。
用户9736681
2022/05/11
1K0
点击加载更多

相似问题

如何将数组写入每个值周围带有引号的文件?

21

如何将列表中的每个元素转换为带有引号的字符串

31

如何创建带有单引号的每个字符串的字符串数组(Javascript)

32

如何将字符串作为参数传递给Javascript中带有引号的参数

12

当参数需要引号时,如何在每个项周围创建带有引号的数组?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文