ElasticSearch / NEST / "Term" 没有结果但 "Match"

ElasticSearch / NEST / No results with "Term" but with "Match"

为什么第一个语句给了我一些结果而第二个语句没有?

我尝试了很多组合,但我不知道问题出在哪里。当然,"Term"-方法是我的首选方法。

 var matchPhrase = _client.Search<JournalItem>(s => s
            .Index("journal")
            .Query(q => q.Match(m => m.OnField("typeName")
                 .Query("Logon"))));


var searchResults = _client.Search<JournalItem>(s => s
            .Index("journal")
            .Query(q => q
                .Term(p => p.typeName, "Logon")
            ));

我正在使用 NEST 1.4 和 elasticsearch 1.4.2

term 查询不分析搜索词,match 查询使用与索引字段相同的分析器进行搜索。因此,如果您使用默认分析器(标准分析器)对 p.typeName 进行索引,则索引词为 'logon'(标准分析器将术语分为白色和小写),作为您的搜索词 'Logon' 有大小写混合,它将与 Term 查询不匹配。

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-term-query.html