MatchPhrase 则可以理解为短语匹配,只有当数据包含“长宁区”完整短语的数据,才会被查询命中
增加分页查询接口 public async Task<PagedResult<People[]>> QueryPeopleAsync(SearchCondition condition, int pageIndex, int pageSize) { var query = this.BuildQueryContainer(condition); var response = await this._client.SearchAsync<People>(s => s .Index("testindex") .From(pageIndex * pageSize) .Size(pageSize) .Query(q => query) .Sort(st => st.Descending(d => d.CreateTime))); if (response.ApiCall.Success) { return new PagedResult<People[]> { PageIndex = pageIndex, PageSize = pageSize, Total = response.Total, ReturnObj = response.Hits.Select(s => s.Source).ToArray() }; } return new PagedResult<People[]> { IsSuccess = false }; } 编写单元测试 [TestMethod] public async Task QueryPeopleTest() { var condition = new SearchCondition { Address="长宁区", BeginCreateTime = DateTime.Now.AddDays(-1), EndCreateTime = DateTime.Now }; var result = await this._elasticService.QueryPeopleAsync(condition, 0, 3); Assert.IsTrue(result.IsSuccess); } 利用 Wireshark 抓包分析HTTP调用细节将抓包的数据转换为HTTP流,查看请求细节:
提示:通过wireshark抓包是排查错误很有效的方式,有时候通过查询文档进行分析,还不如先抓包查看请求数据来得直接,同时可以将抓包数据放在Kabana所提供的 Dev Tools中验证自己的想法。
利用 Kibana 提供的 Dev Tools 验证/测试 查询条件 3.总结从.NET Framework 平台转向 .Net Core 平台,其实不仅仅是开发框架的升级,或者从 Windows 转向 Linux 的迁移,而是需要我们有更多的开源思维,即: