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 可以说是当下最先进.高性能.全功能的搜索引擎库--无论是开源还是 ...
随机推荐
- hibernate与ssm多数据源配置
hibernate: 1.配置多个数据源,比如2个:hibernate.cfg1.xml~hibernate.cfg8.xml <?xml version='1.0' encoding='UTF ...
- springboot中的任务(异步任务--定时任务--邮件任务)
1.pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- Luogu 4602 [CTSC2018]混合果汁
BZOJ 5343 福利题. 对于每一个询问可以二分$d$,然后把满足条件的果汁按照$p$从小到大排序贪心地取$L$升看看满不满足价格的条件. 那么按照$p$建立权值主席树,$chk$的时候在主席树上 ...
- Java 设计模式系列(十八)备忘录模式(Memento)
Java 设计模式系列(十八)备忘录模式(Memento) 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式.备忘录对象是一个用来存储另外一个对象内部状态 ...
- C#的链表操作[数据结构-线性表]
链式存储结构图解: 上图中,a1,是数据,紧跟着后面的d1是下一个节点的地址值.也就是一个节点的最后存储的是下一个节点的地址值,最后一个节点的存储的下一个地址值是null,代表链表结束. 1,定义链表 ...
- 20155230 2016-2017-2 《Java程序设计》第七周学习总结
20155230 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 世界时:在1972年引入UTC之前,GMT与UT是相同的 格林威治标准时间(GMT),现已不 ...
- python进行数据清理之pandas中的drop用法
好久好久没有更新博客了,之前自学的估计也都忘记差不多了.由于毕业选择从事的行业与自己的兴趣爱好完全两条路,心情也难过了很久,既然入职了就要好好干,仍要保持自己的兴趣,利用业余时间重拾之前的乐趣. 从基 ...
- mongo学习-固定集合
一.创建固定集合 db.createCollection("guding",{"capped":true,"size":10,"m ...
- Zookeeper基本使用(转)
一.Zookeeper架构 云计算越来越流行的今天,单一机器处理能力已经不能满足我们的需求,不得不采用大量的服务集群.服务集群对外提供服务的过程中,有很多的配置需要随时更新,服务间需要协调工作,这些信 ...
- (转)centos liveCD liveDVD netinstall minimal DVD1 DVD2 版本区别
LiveCD 和 LiveDVD 是可以直接光盘运行系统,但不能安装,两者差别在于容量大小,dvd包含的软件要多一些. netinstall 是用于网络安装和系统救援的镜像文件. minimal 这个 ...