using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Elasticsearch.Net;
using Nest; namespace ElasticSearchClinet_NEST
{
class Program
{
static void Main(string[] args)
{
new TestElasticSearch().TestRequest();
}
} public class TestElasticSearch
{
/// <summary>
/// 生成搜索客户端
/// </summary>
/// <returns></returns>
private ElasticClient GetSearchClient()
{
//var connectString = ConfigurationManager.ConnectionStrings["ElasticSearch"].ConnectionString;
var nodes = new Uri[]
{
new Uri("http://a.elk.qaem.cn:9200"),
new Uri("http://b.elk.qaem.cn:9200"),
new Uri("http://c.elk.qaem.cn:9200"),
new Uri("http://d.elk.qaem.cn:9200"),
};
var pool = new StaticConnectionPool(nodes);
var settings = new ConnectionSettings(pool);
var client = new ElasticClient(settings);
return client;
} public string TestRequest()
{
var client = this.GetSearchClient();
var person = new Person
{
Id = "",
Firstname = "Martijn",
Lastname = "Laarman"
}; var index = client.Index(person, i => i
.Index("personindex")
.Type("persontype")
.Id("")
.Refresh()
.Ttl("1m")
); var results = client.Search<Person>(s => s
.From()
.Size()
.Query(q => q
.Term(p => p.Firstname, "martijn")
)
); foreach (var item in results.Hits)
{
var p = item.Source;
Console.WriteLine(p.Id);
Console.WriteLine(p.Firstname);
Console.WriteLine(p.Lastname);
}
Func<MatchPhraseQueryDescriptor<Person>, IMatchQuery> selector = q =>
{
return q.Query(@"{
""query"": {
""match_phrase"": {
""ZuHeName"": ""基金""
}
}
}");
};
Func<SearchDescriptor<ZuHeEntity>, ISearchRequest> search = s => s
.Query(
q=>q.MatchPhrase(t=>t.Field("ZuHeName").Query("基金"))
).From()
.Size(); var zuheList = client.Search<ZuHeEntity>(search); foreach (var item in zuheList.Hits)
{
var p = item.Source;
Console.WriteLine(p.ZuHeId);
Console.WriteLine(p.ManagerName);
Console.WriteLine(p.ZuHeName);
}
Console.ReadKey();
return results.Hits.Count().ToString();
}
} public class Person
{
public string Id { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
} public class ZuHeEntity
{ /// <summary>
/// 组合Id
/// </summary>
public string ZuHeId
{
get;
set;
} /// <summary>
/// 管理人Id
/// </summary>
public string ManagerId
{
get;
set;
} /// <summary>
/// 组合创建时间
/// </summary>
public DateTime StartDate
{
get;
set;
} /// <summary>
/// 组合名
/// </summary>
public string ZuHeName
{
get;
set;
} /// <summary>
/// 组合管理人名
/// </summary>
public string ManagerName
{
get;
set;
} public string Permit
{
get; set;
}
} }

http://nest.azurewebsites.net/nest/cluster/health.html

Nest查询示例的更多相关文章

  1. Elasticsearch .Net Client NEST 多条件查询示例

    Elasticsearch .Net Client NEST 多条件查询示例 /// <summary> /// 多条件搜索例子 /// </summary> public c ...

  2. NHibernate查询示例合集

    基本查询   复杂查询示例 /// <summary> /// 获取自定义表单数据中属于部门的部分 /// </summary> /// <param name=&quo ...

  3. MyBatis 查询示例

    环境搭建 数据库schema 1)datasource.xml配置 <?xml version="1.0" encoding="UTF-8"?> & ...

  4. spring boot - 整合jpa多对对关系保存和查询示例

    pojo: package com.example.zs.springDataJpa; import org.hibernate.annotations.Proxy; import javax.per ...

  5. Elasticsearch 邻近查询示例

    Elasticsearch 邻近查询示例(全切分分词) JAVA API方式: SpanNearQueryBuilder span = QueryBuilders.spanNearQuery(); s ...

  6. Accessoft-日期区间段查询示例,开始日期至截止日期区段查询

    Accessoft-日期区间段查询示例,开始日期至截止日期区段查询 实现功能效果如下: 示例查询开始日期为2017年3月15日到2017年3月16日的内容: sql查询语句如下: SELECT Inf ...

  7. SQL Server-简单查询示例(十一)

    前言 本节我们讲讲一些简单查询语句示例以及需要注意的地方,简短的内容,深入的理解,Always to review the basics. EOMONTH 在SQL Server 2012的教程示例中 ...

  8. Spring SimpleJdbcTemplate查询示例

    这里有几个例子来说明如何使用SimpleJdbcTemplate query()方法来查询或从数据库中提取数据.在 JdbcTemplate query() 方法,需要手动转换返回的结果转换为一个目标 ...

  9. mysql——单表查询——分组查询——示例

    一.基本查询语句 select的基本语法格式如下: select 属性列表 from 表名和视图列表 [ where 条件表达式1 ] [ group by 属性名1 [ having 条件表达式2 ...

随机推荐

  1. uva10106(大数乘法)

    public class Product { public static void main(String[] args){ Scanner sc = new Scanner(new Buffered ...

  2. iOS之05-三大特性之封装

    本次主要学习面向对象的三大特性:封装.继承和多态中的封装 封装 1. 好处 降低耦合率 可重复调用类中的属性 提高安全性,外部不能随便修改变量的值,保证了数据的安全性 2. set方法 1.作用:提供 ...

  3. Diophantus of Alexandria[HDU1299]

    Diophantus of Alexandria Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...

  4. php 从myslql里导出到excel

    //导出excel 只wps可以打开public function takexcelAction(){ $name = $this->input->get_post('name'); $i ...

  5. Jaxb 解析 带有继承关系的bean与xml

    具体方法: 1. 在jaxb的setClasstobebounds中,只需要子类的class,无需父类. 2. 父类的前面加如下声明: @XmlAccessorType(XmlAccessType.F ...

  6. LinearLayout 垂直滚动条

    <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android=" ...

  7. 状压dp题目总结

    这块比较薄弱.. 来几道水题: BZOJ1231: [Usaco2008 Nov]mixup2 混乱的奶牛 f[i][j]状态i结尾j的个数 ;i<=tot;i++) ;j<=n;j++) ...

  8. BZOJ4027: [HEOI2015]兔子与樱花 贪心

    觉得是贪心,但是一开始不太肯定...然后就A了 一个点对它的父亲的贡献就是自己的权值加儿子的个数 #include<bits/stdc++.h> using namespace std; ...

  9. 五、点数器《苹果iOS实例编程入门教程》

    该app为应用的功能为一个简单的数数程序 现版本 SDK 8.4 Xcode 运行Xcode 选择 Create a new Xcode project ->Single View Applic ...

  10. Redis在windows下的安装使用

    下载的windows版本是redis-2.0.2,解压到D盘下: D:\redis-2.0.2 启动Redis服务(conf文件指定配置文件,若不指定则默认): D:\redis-2.0.2>r ...