elasticsearch Couchbase-Elasticsearch搜索问题,elasticsearch,couchbase,elasticsearch,Couchbase" /> elasticsearch Couchbase-Elasticsearch搜索问题,elasticsearch,couchbase,elasticsearch,Couchbase" />

elasticsearch Couchbase-Elasticsearch搜索问题

elasticsearch Couchbase-Elasticsearch搜索问题,elasticsearch,couchbase,elasticsearch,Couchbase,我遵循了Couchbase-ElasticSearch集成教程,并用啤酒样本桶对其进行了测试 我有个问题 我可以进行如下查询: { "query": { "match": { "doc.name": "IPA" } } } 但如果我这样搜索: { "query": { "filtered": { "query": { "match_all":

我遵循了Couchbase-ElasticSearch集成教程,并用啤酒样本桶对其进行了测试

我有个问题

我可以进行如下查询:

{
    "query": {
        "match": {
            "doc.name": "IPA"
        }
    }
}
但如果我这样搜索:

{
    "query": {
        "filtered": {
            "query": {
                "match_all": { }
            },
            "filter": {
                "term": { "doc.name": "IPA" }
            }
        }
    }
}
我没有得到任何结果

对于其他字符串字段,我没有问题,例如,“type”:“beer”

我不知道为什么


提前感谢

这是因为您的分析仪。对于字符串,默认分析器将输入值小写。因此,IPA被索引为IPA

术语过滤器不会分析输入,因此,搜索IPA时,索引中有IPA-->IPA!=ipa,因此,文档不匹配

另一方面,匹配查询使用为字段设置的分析器分析您的输入,因此,您的输入是小写的,您可以搜索ipa


我希望这是有意义的。

这是因为你的分析仪。对于字符串,默认分析器将输入值小写。因此,IPA被索引为IPA

术语过滤器不会分析输入,因此,搜索IPA时,索引中有IPA-->IPA!=ipa,因此,文档不匹配

另一方面,匹配查询使用为字段设置的分析器分析您的输入,因此,您的输入是小写的,您可以搜索ipa

我希望这是有道理的

{
    "query": {
        "match": {
            "doc.type": "beer"
        }
    }
}

{
    "query": {
        "filtered": {
            "query": {
                "match_all": { }
            },
            "filter": {
                "term": { "doc.name": "beer" }
            }
        }
    }
}