elasticsearch - 在 ElasticSearch 中注册并调用查询

标签 elasticsearch

是否可以注册查询(如渗透过程)并按名称调用它们以执行它们。 我正在构建一个应用程序,让用户保存与标签关联的搜索查询。我想将过滤器生成的查询保存在 ES 中。

如果我将查询保存在索引中,我必须先调用 ES 来检索查询,提取包含查询的字段,然后再次调用 ES 来执行它。我可以在一个电话中完成吗?

另一种解决方案是注册查询(带有 _percolator 和用户标识符的标签: /_percolate/transaction/user1_label1

{
  "userId": "user1",
  "query":{
     "term":{"field1":"foo" }
   }
}

当有新文档时,在非索引模式下使用过滤器(按 userId 过滤)来检索匹配的查询,然后通过添加字段 "label":["user1_label1", "user1_label2"来更新文档] 并最终索引文档。所以标签是在索引时完成的。

你怎么看? 提前致谢。

最佳答案

尝试 Filter Aliases.

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/

相关文章:

elasticsearch - 从 Elasticsearch 中过滤重复的类似网址

elasticsearch - 如何实现Spring Rest Client进行 Elasticsearch ?

elasticsearch - 如何连接hdfs ha进行Elasticsearch快照?

json - 将大型JSON文件编入索引/导入到Elasticsearch(> 10GB)中并添加过滤器

elasticsearch - 在单个群集上升级后,ES超时

elasticsearch - 重新运行jhipster项目时出现Elasticsearch错误:创建名称为 'userSearchRepository'的bean时出错

elasticsearch - 通过多个字段聚合并在ElasticSearch中计数

docker - 将 ElasticSearch Docker 容器部署到 AWS Fargate

elasticsearch - Elasticsearch 6.4在创建自定义字符过滤器时引发错误

angularjs - 如何以及在何处在 Kibana 3 中实现基本身份验证