elasticsearch - function_score尝试在Elasticsearch中使用排除索引中的字段

标签 elasticsearch

我有三个自己的索引: A B C 。此外,我还有 .marvel-kibana 索引。 A B C 索引中的所有文档都具有global_priorty字段。

我想知道,为什么排除了ABC索引之外的所有数据,但是Elastic抛出异常: ElasticsearchException [无法在 .marvel-kibana 索引中找到字段[global_priorty]] 的映射器?是否不排除该索引(默认情况下包含在no_match_filter中)?

我的代码:

GET /_search
{
  "query": {
    "filtered": {
      "query": {
        "function_score": {
          "query": { ... },
          "functions": [ 
            {
              "field_value_factor": {
                "field": "global_priorty",
                "factor": 1,
                "modifier": "sqrt"
              }
            }
          ]
        }
      },
      "filter": {
        "indices": {
          "indices": [ "A", "B", "C" ],
          "filter": { ... },
          "no_match_filter": "none"
        }
      }
    }
  },
  "indices_boost": { ... },
  "highlight": { ... }
  }
}

最佳答案

卡罗尔

我不确定您是否在这里实现了预期的目标。在索引过滤器中列出索引并不自动意味着它已从搜索中排除。

过滤器的工作方式如下:
对于索引列表中的索引,请使用过滤器。对于其他人,请使用no_match_filter。

您的过滤器的外观如何?

仅搜索选定索引的首选方法是在搜索端点中使用它们。就像是:

get /A,B,C/_search 
{
....
}

忠告:我记得在设置多个索引和类型时Java API遇到了一些问题。但是,那是很久以前的事了。

你应该试试看!

问候,
卡罗尔

附言
Powodzenia!顺便说一句:Parafrazując:Wszystkie Karole到porządnechłopaki!

关于elasticsearch - function_score尝试在Elasticsearch中使用排除索引中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29536645/

相关文章:

elasticsearch - Logstash jdbc插件问题

couchdb - Elasticsearch Couchdb河监控器

php - ElasticSearch 映射非可搜索字段

ruby-on-rails - Searchkick - 尾随特殊字符

java - 如何使用 Elasticsearch async api 控制响应

amazon-web-services - Elasticsearch 1.3.2升级后的问题

ruby-on-rails - 在digitalocean上运行elasticsearch

elasticsearch - 使用 sum 聚合的 Elasticsearch 查询中的问题

elasticsearch - 使用从父聚合获取的参数的子聚合脚本

ruby-on-rails - Rails/Tire –防止索引属性