2
我终于设法让Elastic Search索引以我想要的方式工作,使用子字段和not_analyzed
将某些字段的原始值编入索引。这些面是我所期望的,但是,在某些情况下,由于有空/空值这些字段的源数据,我得到的面部分这样的结果:使用弹性搜索可以消除“空白”方面吗?
"things": {
"_type": "terms",
"missing": 187,
"total": 12214,
"other": 10608,
"terms": [
{
"term": "foo",
"count": 912
},
{
"term": "",
"count": 532
},
{
"term": "bar",
"count": 37
}
}
}
注“”在中第二项。我可以看到为什么ElasticSearch不会自动排除此问题,因为人们可能想知道有多少文档没有该字段。但为了我的目的,我想只是没有这个返回。
是否有某种方法可以配置ElasticSearch忽略这些索引或查询中的这些内容?
您是否尝试过[排除](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets -terms-facet.html#_excluding_terms)一个空字符串?不知道这是否会奏效,但请试一试。 – Thorsten
不过,首先简单地从文档中删除该字段可能会更容易。在收集数据的应用程序中将其发送给ES。 – Thorsten
@Thorsten:我* *可以*删除该字段,但这是一个相当深的嵌套字段在由NEST自动序列化的文档中,所以它几乎需要重写该代码,除非它有一些设置忽略空值/空字符串(我找不到)。排除是最可能的(简单)答案,我对ES很新,忘记了这个选项。 – Aaronaught