ElasticSearch.net In查询
2017-04-21 16:47
447 查看
public PUB_StockSearchResult SearchModelArr(PUB_StockSearch param)
{
PUB_StockSearchResult result = new PUB_StockSearchResult();
result.ResultList = new List<ES_PUB_StockResult>();
if (param.ModelArr == null || param.ModelArr.Length == 0)
{
return result;
}
QueryContainer query = new TermsQuery() { Field = ES_PUB_StockField.Model, Terms = param.ModelArr };
if (param.InvQty > 0)
{
QueryContainer query_invqty = new NumericRangeQuery() { Field = ES_PUB_StockField.InvQty, GreaterThanOrEqualTo = param.InvQty };
query = query && query_invqty;
}
List<ISort> sortlist = new List<ISort>();
if (param.SortList != null && param.SortList.Count > 0)
{
foreach (var sortitem in param.SortList)
{
ISort sort = new SortField { Field = sortitem.Key };
switch (sortitem.Value)
{
case "asc":
//sort = new SortField { Field = sortitem.Key, Order = SortOrder.Ascending };
sort.Order = SortOrder.Ascending;
break;
case "desc":
//sort = new SortField { Field = sortitem.Key, Order = SortOrder.Descending };
sort.Order = SortOrder.Descending;
break;
}
sortlist.Add(sort);
}
}
var searchRequest = new SearchRequest<ES_PUB_Stock>();
searchRequest.Query = query;
searchRequest.Sort = sortlist;
searchRequest.From = 0;
searchRequest.Size = 1000;
var response = client.Search<ES_PUB_Stock>(searchRequest);
result.Total = response.Total;
foreach (var item in response.Hits.Select(p => p.Source))
{
MEM_ApplyInfo applyparam = new MEM_ApplyInfo();
applyparam.MEMID = item.upByMemberID;
ES_PUB_StockResult resultItem = FacetsHelper.FillPicSearchTempEntity(applyparam);
if (resultItem == null)
{
continue;
}
resultItem = GetOneStockResult(resultItem, item);
result.ResultList.Add(resultItem);
}
return result;
}
{
PUB_StockSearchResult result = new PUB_StockSearchResult();
result.ResultList = new List<ES_PUB_StockResult>();
if (param.ModelArr == null || param.ModelArr.Length == 0)
{
return result;
}
QueryContainer query = new TermsQuery() { Field = ES_PUB_StockField.Model, Terms = param.ModelArr };
if (param.InvQty > 0)
{
QueryContainer query_invqty = new NumericRangeQuery() { Field = ES_PUB_StockField.InvQty, GreaterThanOrEqualTo = param.InvQty };
query = query && query_invqty;
}
List<ISort> sortlist = new List<ISort>();
if (param.SortList != null && param.SortList.Count > 0)
{
foreach (var sortitem in param.SortList)
{
ISort sort = new SortField { Field = sortitem.Key };
switch (sortitem.Value)
{
case "asc":
//sort = new SortField { Field = sortitem.Key, Order = SortOrder.Ascending };
sort.Order = SortOrder.Ascending;
break;
case "desc":
//sort = new SortField { Field = sortitem.Key, Order = SortOrder.Descending };
sort.Order = SortOrder.Descending;
break;
}
sortlist.Add(sort);
}
}
var searchRequest = new SearchRequest<ES_PUB_Stock>();
searchRequest.Query = query;
searchRequest.Sort = sortlist;
searchRequest.From = 0;
searchRequest.Size = 1000;
var response = client.Search<ES_PUB_Stock>(searchRequest);
result.Total = response.Total;
foreach (var item in response.Hits.Select(p => p.Source))
{
MEM_ApplyInfo applyparam = new MEM_ApplyInfo();
applyparam.MEMID = item.upByMemberID;
ES_PUB_StockResult resultItem = FacetsHelper.FillPicSearchTempEntity(applyparam);
if (resultItem == null)
{
continue;
}
resultItem = GetOneStockResult(resultItem, item);
result.ResultList.Add(resultItem);
}
return result;
}
相关文章推荐
- Elasticsearch .Net Client NEST 多条件查询示例
- ElasticSearch.net分组查询
- Elasticsearch .net 客户端条件拼接查询
- ElasticSearch.net结构化查询
- ASP.NET Core Logging in Elasticsearch with Kibana
- elasticsearch.net一个查询问题
- Similarity in Elasticsearch: A Brief Introduction to the Similarity Models Available
- asp.net mysql无法查询中文;You have an error in your SQL syntax; check the manual that corresponds to
- Add mappings to an Elasticsearch index in realtime
- Add mappings to an Elasticsearch index in realtime
- Kibana+Logstash+Elasticsearch 日志查询系统 - 爱开卷360 - 博客园
- Kibana+Logstash+Elasticsearch 日志查询系统
- The Use of Aliases in ElasticSearch
- ExtJs 4 Grid filter in asp.net mvc action表格 查询与过滤的最佳解析解决方案
- spring data elasticsearch的一个复杂查询条件
- filtering by date in elasticsearch
- ElasticSearch + Logstash + Kibana 实时日志收集、查询和分析系统
- Full-Text Search in ASP.NET using Lucene.NET
- .NET Framework Solutions: In Search of the Lost Win32 API
- ASP.NET MVC 学习4、Controller中添加SearchIndex页面,实现简单的查询功能