ElasticSearch:在另一个字段中存在字符串的布尔计算字段

时间:2014-09-01 14:21:48

标签: elasticsearch

是否可以为返回的每个文档获取布尔计算字段,该值取决于文档的另一个(多值)字段中给定字符串的存在。

在Solr中我会用query()执行此操作,但是如何在ElasticSearch中完成?

1 个答案:

答案 0 :(得分:0)

解决方案是_index使用tf()作为参考here

{
  "query": {
    "query_string": {
      "query": "MY_FIELD:TERM"
    }
  },
  "script_fields" : {
    "MY_SCRIPT_FIELD" : {
      "script" : "_index['MY_MULTIVALUED_FIELD']['MY_SEARCH_STRING'].tf()"
    }
  }
}

您只需要考虑返回的值不是布尔值,而是包含一个01项的数组。但这可以映射到客户端。