我正在尝试进行复杂查询以使用ElasticSearch Nest库
我需要对字段Text和NormalizedText进行全文搜索,并按日期范围和列表标记进行过滤。例如,我希望Text或NormalizedText包含"关键字"和CreatedDate的范围是01.01.2016 - 01.06.2016,sntag是tag1或tag2或tag3
我尝试发出此请求,但我收到错误:" {在POST上对无效的低级别调用构建的无效NEST响应:/ post_index / elasticitem / _search?pretty = true}"如何提出这个要求是正确的?
var result = es_cli.Client.Search<ElasticItem>(s => s.Skip(skip) .Sort(c => c.Descending("createdDate")) .Take(itemonpage) .Index(index) .Query(f1 => f1.DateRange(x => x.Field(fff => fff.CreatedDate).GreaterThanOrEquals(filter.start)) && f1.DateRange(x => x.Field(fff => fff.CreatedDate).LessThanOrEquals(filter.end)) && (f1.Match(e => e.Field(ee => ee.Text).Query(searchString)) || f1.Match(e => e.Field(ee =>ee.NormalizedText).Query(searchString))) && f1.Terms(x=>x.Field(xx=>xx.Sntag).MinimumShouldMatch(1).Terms(filter.SourceIDs)) ) );
filter.start和filter.end它是DateTime。 searchString是字符串。 filter.SourceIDs是String数组
PS。调试信息
在POST上对不成功的低级别调用构建无效的NEST响应:/ post_index / elasticitem / _search?pretty = true
at System.Net.HttpWebRequest.GetResponse() 在Elasticsearch.Net.HttpConnection.Request [TReturn](RequestData requestData)在c:\ code \ elasticsearch-net \ src \ Elasticsearch.Net \ Connection \ HttpConnection.cs:第138行