我认为不可能创建能够自动标记随机字符串的准确的Elasticsearch查询。这基本上是一个反向查询。将标签与文档匹配的最准确方法是构造对标签的查询,然后搜索文档。显然,如果您需要遍历每个标签以自动为文档添加标签,则效率将非常低下。
要执行反向查询,您想使用Elasticsearch Percolator API:
https://www.elastic.co/guide/zh-CN/elasticsearch/reference/current/search-
percolate.html
该API非常灵活,可让您在具有多个字段的文档中创建相当复杂的查询。
基本概念是这样的(假设您的代码具有应用特定的ID字段):
对于每个标签,为其创建查询,然后使用过滤器的ID字段向渗滤器注册该查询。
要自动标记字符串,请将您的字符串(作为文档)传递给Percolator,后者将与所有已注册的查询匹配。
遍历比赛。每个匹配项都包含查询的_id。使用_id引用标记。
这也是阅读的好文章:https :
//www.elastic.co/blog/percolator-redesign-blog-
post



