我想从ElasticSearch的结果文档中排除一个字段。我浏览了ElasticSearch.org的这个文档http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html但当我尝试时,这不起作用。我在SO上看到了同样的问题。有没有办法在Elasticsearch查询中排除一个字段,但不幸的是,这也没有给出答案,只是粘贴了ElasticSearch站点的示例。这是我的代码
{
"query":
{
"multi_match": {
"fields": [
"user",
"email"
],
"query": "John",
"operator": "and",
"type": "phrase_prefix"
}
}
},
"partial_fields" : {
"partial1" : {
"exclude" : "email"
}
},
"from" : 0,
"size" : 10
}
这是上述查询的结果
{
"took": 5,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 1,
"hits": [
{
"_index": "abc",
"_type": "users",
"_id": "4",
"_score": 1,
"_source": {
"user": "John Smith",
"email": "johnsmith_88@yahoo.com",
"pic": "95052dc5bb0bd2575.01687359.jpg"
"utype": "m"
}
},
{
"_index": "abc",
"_type": "users",
"_id": "1",
"_score": 1,
"_source": {
"user": "Johnathan",
"email": "johnathan@ymail.com",
"pic": "428952deea899c6ad3.87100416.jpg"
"utype": "m"
}
}
]
}
}
在上面的查询中,一切正常,但这也提供了电子邮件字段的结果,我想将此电子邮件字段排除在结果文档中。
因为它是用该查询解决的,所以有一个错字。有几种方法可以在发送前检查您的查询。
elasticsearch-head
插件,帮助您通过简单实用的界面进行查询问题内容: 我需要在所有索引到Elasticsearch的文档中删除一个字段。我该怎么做。任何删除查询都可以帮助我实现这一点。 问题答案: @backtrack所说的是对的,但是在Elasticsearch中有一种非常方便的方法。Elasticsearch将抽象出删除的内部复杂性。您需要使用更新API来实现- 您可以在此处找到更多文档。 注意:从Elastic Search 6开始,您需要包括一个
我在ElasticSearch中索引了很多产品。我需要从ElasticSearch中的查询中排除ID列表(我从SQL数据库中获取)。假设产品存储为, 我们基于使用ElasticSearch的一些算法向客户显示推荐产品的列表。如果一个顾客把一个产品标记为‘不感兴趣',我们就不必再给他看那个产品了。我们将这些产品保存在一个单独的SQL表中,表中有product_id、customer_id,状态为'n
如果我们有如下查询 返回预期的结果(如下所示) 正如您所看到的,查询是针对和我们希望从结果中排除其他字段,但只包括和的字段 并排除其他字段,例如,以下是一些不是或(传递到查询中的字段)的字段-从
我有一个索引(名称:“index1”)指向ElasticSearch中的多个文档。 文档的格式(json)是- 下面是映射- 我在ES查询中哪里做错了?
问题内容: 这是我从数据库中获取用户bean的方法。 这将从数据库返回所有用户记录。有趣的是,我不想从数据库获取密码字段。只想在检索时排除该字段。 我有选择 1)在其他领域使用投影。这需要更多代码才能添加到投影列表中。所以放弃了这个想法。 2)使用Sql,我需要编写一个手动查询,这会杀死Hibernate的主题。 是否有可能排除Bean的列值? 问题答案: 假设以下是您的POJO: User.ja
问题内容: 我如何执行搜索,排除字段具有特定值的结果? 我有一个Reddit评论数据库,我想找到提及比特币的信息,但不包括bitcoin subreddit。 错误很长,无法在此处发布。https://gist.github.com/kylelk/feca416156712eebad3e 问题答案: 这是愚蠢的错误, 您必须在query中包含过滤查询。这是修改 希望这可以帮助!!