当前位置: 首页 > 面试题库 >

在Elasticsearch中查找并替换所有文档

仲阳朔
2023-03-14
问题内容

我想替换所有我的Elasticsearch索引文档中的单个用户名。是否有API查询?

我尝试搜索多个但找不到。有人知道吗?

我的情况:

curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"mad", "role":"tester"}'

curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"bob", "role":"engineer"}'

curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"cat", "role":"engineer"}'

curl -XPOST 'http://localhost:9200/test/movies/' -d '{"user":"bob", "role":"doctor"}'

我在名为“ test”的索引中具有上述数据,并键入“ movies”。在这里,我想用“ alice”代替所有的“ bob”名称。

谢谢


问题答案:

通过查询更新是解决之道。

POST /test/movies/_update_by_query
{
  "script": {
    "inline": "ctx._source.user = 'alice'"
  },
  "query": {
    "term": {
      "user": "bob"
    }
  }
}

注意:请确保启用动态脚本,以使其起作用。



 类似资料:
  • 我需要用替换当前项目中的所有文件中的……有什么简单的方法可以做到这一点?(搜索导航器中只有搜索)。 另外,我需要在所有.m文件的开头添加一行。这是如何快速完成的?(这样的文件有500多个。)

  • 我不知道如何使用Visual Studio代码1.0在不同文件中查找和替换一个单词的所有出现位置。 我得到的印象是这应该是可能的,因为做Ctrl+Shift+F允许我简单地搜索一个文件夹,但我不知道如何继续从这里。 但我只找到了如何替换打开文件(Ctrl+h)中出现的所有内容 感谢所有的帮助,这快把我逼疯了。

  • 有没有一种方法可以在android studio或使用命令行脚本中找到并替换一个单词在整个项目中出现的所有情况(而不仅仅是使用refactor->rename的单个类),同时还可以维护大小写? 例如,供应商必须到商户,供应商->商户,供应商->商户。我的老板希望我更改供应商与商人的项目我正在工作的所有实例。我做了大约一个小时,我知道我在浪费时间。让我知道任何时候保存的建议。

  • 我想用长字符串中的引号替换引号。所以,我提出了一个想法,通过模式找到它,然后替换那些引用。但我缺少的可能是错误的模式或错误的方法使用: 不幸的是,它仍然替换了所有引用,而不是其中的引用。 这就是我要实现的,将这个替换为这个: 注意,这在我的长字符串中可能发生多次。谢谢你的建议!:) @编辑我认为最好添加我的字符串的确切示例(我的字符串看起来类似于JSON:

  • 我试图找到一个单词中所有元音的所有可能组合。例如给定“你好”: 我编写了以下函数,它只接受每个元音,在每个元音处,它只会将其全部替换为元音并将每个版本添加到列表中。我正在尝试根据需要将其更改为排列,但它不起作用。我尝试在附加后插入元音(“”.join(string),arr),但这会导致无限递归。 有人有什么建议吗?

  • 问题内容: 如何在Linux中的多个文件中替换特定术语? 例如,我的目录中有许多文件: file1.txt file2.txt file3.txt 我需要找到一个单词“ searchword”并将其替换为“ replaceword”。 问题答案: 使用bash 4.0,您可以递归搜索文件 或与GNU查找