elasticsearch ElasticSearch的NEST TermQuery不工作
给定 以下使用NEST的lambda查询可以正常工作:elasticsearch ElasticSearch的NEST TermQuery不工作,elasticsearch,nest,elasticsearch,Nest,给定 以下使用NEST的lambda查询可以正常工作: string author = "John Smith"; 但是,使用OIS对象初始值设定项语法的同一查询不起作用: string firstname = author.Split().First().ToLower(); var searchResults = client.Search<Magazine>(s => s.From(0).Size(5000).Query(q => q.Term(p => p
string author = "John Smith";
但是,使用OIS对象初始值设定项语法的同一查询不起作用:
string firstname = author.Split().First().ToLower();
var searchResults = client.Search<Magazine>(s => s.From(0).Size(5000).Query(q => q.Term(p => p.Author, author)));
怎么了?试着用驼峰式大小写字段名:-我认为在使用OIS语法或原始查询时需要这样做
author = author.Split().First().ToLower();
QueryContainer query = new TermQuery
{
Field = "Author",
Value = author
};
var searchRequest = new SearchRequest
{
From = 0,
Size = 10,
Query = query
};
var searchResults = client.Search<Magazine>(searchRequest);
向QueryContainer添加关键字后缀:
author = author.Split().First().ToLower();
QueryContainer query = new TermQuery
{
Field = "author",
Value = author
};
var searchRequest = new SearchRequest
{
From = 0,
Size = 10,
Query = query
};
var searchResults = client.Search<Magazine>(searchRequest);
试试看,会有用的这应该对你有帮助
QueryContainer query = new TermQuery
{
Field = "Author",
Value = author
};
query.Suffix("keyword");
var searchRequest = new SearchRequest
{
From = 0,
Size = 10,
Query = query
};
var searchResults = client.Search<Magazine>(searchRequest);