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. 关于listView 中的聚焦问题

    我在使用listView+adapter 中,遇到一个问题,就是item项添加了若干个可以被监听的控件后 在listView中的setOnItemClickListener失效了 原因是焦点已经在it ...

  2. java-数字类

    浏览以下内容前,请点击并阅读 声明 对于6种基本的数字类型,java提供了相对应的类.Number类和六种细分的子类.

  3. Knockout.js初体验

    前不久在网上看到一个轻量级MVVM js类库叫Knockout.js,觉得很好奇,搜了一下Knockout.js相关资料,也初体验了一下,顿时感觉这个类库的设计很有意思.接下来就搞清楚什么是Knock ...

  4. ReSharper 配置及用法(二)

    下载工具 一:Reshaper是什么 即便是那些整天攻击 .NET 和 C# 的人,也常常不得不承认 Visual Studio 确实是个够强大的 IDE,除非他认为更少的 IDE 功能和命令行调试才 ...

  5. 熟悉熟悉常用的几个算法用JS的实现

    (1)数组去重 原理:定义一个对象obj,然后把数组元素作为obj的属性名,利用属性名是否重复进行判重 1 var unique = function(arr){ 2 let obj = {}; 3 ...

  6. Word2Vec源码解析

    Reference:http://blog.csdn.net/itplus/article/details/37969519  (Word2Vec解析(部分有错)) 源码:http://pan.bai ...

  7. topcoder SRM 622 DIV2 FibonacciDiv2

    关于斐波那契数列,由于数据量比较小, 直接打表了,代码写的比较戳 #include <iostream> #include <vector> #include <algo ...

  8. Codeforce - Runtime Error

    Bahosain was trying to solve this simple problem, but he got a Runtime Error on one of the test case ...

  9. window 安装Mysql 5.6 发生系统错误 1067

    问题: #安装MySQL服务:mysqld -install MySQL5 D:\Program Files\mysql_5.6.24_winx64\bin>mysqld -install My ...

  10. ECLIPSE下SVN的创建分支/合并/切换使用

    最近接项目要求,要在svn主干上创建分支,用分支来进行程序的bug修改,而主干上进行新功能的开发.分支上的bug修改完,发布后,可以合并到主干上.项目程序可以在主干和分支之间进行切换,来实现主干和分支 ...