ElasticSearch NEST搜索
var client = ElasticsearchHelper.GetElasticClient("order");
QueryContainer termQuery = new TermQuery() { Field = "lastname", Value = "求和" };
var result = client.Search<Order>(s => s
.Aggregations(a => a
.Sum("my_sum_agg", sa => sa
.Field(p => p.TotalPrice)
)
)
);
var agg = result.Aggs.Sum("my_sum_agg");
var searchResults = client.Search<Order>(s => s
// .Query(termQuery) //带筛选条件
.Aggregations(r => r.Terms("firstname", r1 => r1.Field(r2 => r2.Lastname)
.OrderAscending("sumprice")
.Aggregations(y => y.Sum("sumprice", y1 => y1.Field(y2 => y2.TotalPrice))))));
var carTypes = searchResults.Aggs.Terms("firstname");
List<double> re=new List<double>();
foreach (var carType in carTypes.Items)
{
string key = carType.Key;
System.Console.WriteLine("key:" + key + " total:" + carType.Sum("sumprice").Value);
re.Add((double)carType.Sum("sumprice").Value);
}
//List<SumTotalPrice> orders = searchResults.Documents.ToList();
// System.Console.WriteLine(orders.Count() + " total:" + searchResults.Total);
//System.Console.WriteLine(searchResults.RequestInformation);
System.Console.ReadLine();
#endregion
#region 多条件精确匹配
var client = ElasticsearchHelper.GetElasticClient("order");
QueryContainer termQuery = new TermQuery() { Field = "firstname", Value = "测试" };
QueryContainer wholeWordQuery = new TermQuery() { Field = "lastname", Value = "addddd" };
//非索引字段。无法查询 此查询条件无效
QueryContainer termQuery1 = new TermQuery() { Field = "content", Value = " 天空是百度的1696" };
termQuery = (termQuery || wholeWordQuery) || termQuery1;
var searchResults = client.Search<Order>(s => s
.From(0)
.Size(10)
.Query(termQuery)
);
List<Order> orders = searchResults.Documents.ToList();
System.Console.WriteLine(orders.Count() + " total:" + searchResults.Total);
System.Console.ReadLine();
#endregion
#region 精确匹配
var client = ElasticsearchHelper.GetElasticClient("order");
var searchResults = client.Search<Order>(s => s
.From(0)
.Size(10)
.Query(q => q.Term(r => r.OnField(k => k.Firstname).Value("棉花")))
.Highlight(h => h.OnFields(e => e.OnField("firstname")
.PreTags("<b style='color:black'>")
.PostTags("</b>")))
.Sort(r => r.Descending().OnField(q => q.Createtime))
);
List<Order> orders = searchResults.Documents.ToList();
System.Console.WriteLine(orders.Count() + " total:" + searchResults.Total);
System.Console.ReadLine();
#endregion
ElasticSearch NEST搜索的更多相关文章
- ElasticSearch NEST笔记
ElasticSearch NEST笔记 1. 什么是ElasticSearch? ElasticSearch is a powerful open source search and analyti ...
- Elasticsearch实现搜索推荐词
本篇介绍的是基于Elasticsearch实现搜索推荐词,其中需要用到Elasticsearch的pinyin插件以及ik分词插件,代码的实现这里提供了java跟C#的版本方便大家参考. 1.实现的结 ...
- Creating a custom analyzer in ElasticSearch Nest client
Creating a custom analyzer in ElasticSearch Nest client Question: Im very very new to elasticsearch ...
- Elasticsearch NEST – Examples for mapping between Query and C#
Elasticsearch NEST – Examples for mapping between Query and C# During my training with Elasticsearch ...
- ElasticSearch位置搜索
ElasticSearch位置搜索 学习了:https://blog.csdn.net/bingduanlbd/article/details/52253542 学习了:https://blog.cs ...
- ElasticSearch入门-搜索(java api)
ElasticSearch入门-搜索(java api) package com.qlyd.searchhelper; import java.util.Map; import net.sf.json ...
- PHP使用ElasticSearch做搜索
PHP 使用 ElasticSearch 做搜索 https://blog.csdn.net/zhanghao143lina/article/details/80280321 https://www. ...
- 十九种Elasticsearch字符串搜索方式终极介绍
前言 刚开始接触Elasticsearch的时候被Elasticsearch的搜索功能搞得晕头转向,每次想在Kibana里面查询某个字段的时候,查出来的结果经常不是自己想要的,然而又不知道问题出在了哪 ...
- Elasticsearch 为了搜索
前言 Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene 基础之上. Lucene 可以说是当下最先进.高性能.全功能的搜索引擎库--无论是开源还是 ...
随机推荐
- VS2015 C#6.0 中的没有实现/支持的特性
VS2015 C#6.0 中的没有实现/支持的特性 .数组增强:赋值 维数组 Int[] numbers: numbers = {2,3,4,5}; 维数组 Int[,] numbers2; ...
- TensorMask
原文地址:https://arxiv.org/pdf/1903.12174.pdf 论文阅读:http://www.zhenzhujue.cn/article-36456-1.html https:/ ...
- Spring Boot 响应jsp
添加依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:/ ...
- [Training Video - 4] [Selenium IDE]
Selenium IDE Training List
- Groovy使用List集合
获取List集合中的元素 def lst = [1,3,4,1,8,9,2,6] println lst[-1] println lst[-2] 输出结果: 输出: 6 2 使用Range(范围)对象 ...
- Java程序设计11——异常处理
1 概述 异常机制已经成为判断一门编程语言是否成熟的标准,除了传统的像C语言没有提供异常机制之外,目前主流的编程语言如Java.Ruby.Python都提供了成熟的异常机制.异常机制可以使程序中异常处 ...
- Spring boot——logback.xml 配置详解(二)
阅读目录 1 根节点包含的属性 2 根节点的子节点 文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 回到顶部 1 根节点<config ...
- CSS—— em的详解
字体大小在浏览器的默认样式表中有规定.一般采用em为单位,也就是相对单位,1em=16像素. 同时,像P h1等等标签都采用浏览器默认的em单位,P为1em,h1为2em等等. 两条重要的规则: 1. ...
- Swift:使用CAShapeLayer打造一个ProgresssBar
ProgressBar是一个很小却在很多地方都会用到的东西.也许是网络连接,也许APP本身有很多东西需要加载的.默认的只有一个旋转的菊花,对于打造一款个性的APP这显然是不够的.这里就使用CAShap ...
- 如何学习C++? C++ Primer第三版中文版
C++只是一门工具,要在实际项目中才能感受到它的伟大.是慢慢积累的(任何知识都是,冰冻三尺非一日之寒),它的思想是慢慢领悟的. 知道它的语法不代表你会用,你会用不代表你就会建造起高水平的作品,这是一个 ...