是否可以注册查询(如渗透过程)并按名称调用它们以执行它们。 我正在构建一个应用程序,让用户保存与标签关联的搜索查询。我想将过滤器生成的查询保存在 ES 中。
如果我将查询保存在索引中,我必须先调用 ES 来检索查询,提取包含查询的字段,然后再次调用 ES 来执行它。我可以在一个电话中完成吗?
另一种解决方案是注册查询(带有 _percolator 和用户标识符的标签: /_percolate/transaction/user1_label1
{
"userId": "user1",
"query":{
"term":{"field1":"foo" }
}
}
当有新文档时,在非索引模式下使用过滤器(按 userId 过滤)来检索匹配的查询,然后通过添加字段 "label":["user1_label1", "user1_label2"来更新文档] 并最终索引文档。所以标签是在索引时完成的。
你怎么看? 提前致谢。
最佳答案
curl -XPOST 'http://localhost:9200/_aliases' -d '
{
"actions" : [
{
"add" : {
"index" : "the_real_index",
"alias" : "user1",
"filter" : { "term" : { "field1" : "foo" } }
}
}
]
}'
关于elasticsearch - 在 ElasticSearch 中注册并调用查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13050136/