1. 程式人生 > >Elasticsearch.Net Nest 5.0.0 用法

Elasticsearch.Net Nest 5.0.0 用法

1:引用dll

using Elasticsearch.Net;
using Nest;

2:程式碼(如下程式碼是查詢以及建立index的基本用法,包含模糊查詢和精確查詢)
            var node = new Uri("http://localhost:9200");

            var connectionPool = new SniffingConnectionPool(new[] { node });

            var config = new ConnectionConfiguration(connectionPool).DisableDirectStreaming().BasicAuthentication("admin", "
[email protected]
#").RequestTimeout(TimeSpan.FromSeconds(60)); var client = new ElasticLowLevelClient(config); var settings = new ConnectionSettings(new Uri("http://localhost:9200")).DefaultIndex("2017.03.08").DisableDirectStreaming(); var client1 = new ElasticClient(settings); var request = new SearchRequest { From = 0, Size = 10, //Query = new TermQuery { Field = "Name", Value = "FundPayService" }, PostFilter = new QueryContainer(new MatchAllQuery()) }; //var response = client1.Search<logs>(request); //var result = client1.Search<logs>(s => s.Query(q => q.MatchAll())); //IReadOnlyCollection<logs> content = result.Documents; //按照欄位查詢--或關係 var r1 = new SearchRequest { Query = new MatchQuery { Field = "IP", Query = " BACKEND1" } }; var result2 = client1.Search<logs>(r1); //var r4 =client1.Search<logs>(s => s.Query(b => b.QueryString(t1 => t1.DefaultField("IP").Query("BACKEND")))); var filter= new SearchRequest<logs> { Query = new MatchQuery { Field = "IP", Query = "BACKEND" } }; var result4 = client1.Search<logs>(filter); IReadOnlyCollection<logs> content2 = result2.Documents; //模糊查詢1 var r5 = client1.Search<logs>(s => s.Query(q => q.QueryString(p => p.Query("BACKEN*")))); var r55 = r5.Documents; //模糊查詢2 var filter2 = new SearchRequest<logs> { Query =new MatchQuery { Field = "IP", Query = "BACKEN" } }; r5 = client1.Search<logs>(filter2); //範圍查詢 //下面這段程式碼會查詢不出任何東西。因為生成json中的field欄位:Scur 是為scur。 由於elastic裡面的欄位是Scur。導致無法找到該欄位。建議以後elastic裡面的欄位都為小寫 //var r6 = client1.Search<logs>(s => s.Query(q => q.Range(p=>p.Field(obj=>obj.Scur).GreaterThanOrEquals(1).LessThanOrEquals(5)))); var r6 = client1.Search<logs>(s => s.Query(q => q.Range(p => p.Field("Scur").GreaterThanOrEquals(1).LessThanOrEquals(5)))); var r66 = r5.Documents; //建立索引 索引欄位必須小寫 ICreateIndexResponse icr =client1.CreateIndex("ip2"); //建立索引連線 var settings2 = new ConnectionSettings(new Uri("http://localhost:9200")).DefaultIndex("ip2").DisableDirectStreaming(); var client2 = new ElasticClient(settings2); IIndexResponse iir =client2.Index<logs>(new logs { IP = "F", Scur = "2" }); //查詢所有index資料 var r7 =client2.Search<logs>(q => q.MatchAll()).Documents; //對於簡單結構的資料 var r8 = client2.Search<logs>(p => p.Query(q => q.Term(f => f.Field(obj => obj.IP).Value('F')))); r8 = client2.Search<logs>(p => p.PostFilter(q => q.Term(f => f.Field(obj => obj.IP).Value('F')))); //對於有巢狀結構的資料 r8 = client2.Search<logs>(p => p.Query(q => q.Nested(x => x.Query(k => k.Term(c => c.Field(obj => obj.IP).Value('F')))))); var r88=r8.Documents;

如果發現程式碼和出來的效果不一致,可以通過斷點除錯檢視api欄位裡拼接好的查詢條件,拷貝放進elasticsearch中的複合查詢介面,檢視哪裡出了問題。

--複合查詢介面在外掛head裡,需要自己安裝。

相關推薦

Elasticsearch.Net Nest 5.0.0 用法

1:引用dll using Elasticsearch.Net; using Nest; 2:程式碼(如下程式碼是查詢以及建立index的基本用法,包含模糊查詢和精確查詢) var node = new Uri("http://localhost:9

.NET 分散式 搜尋 elasticsearch.net NEST

我們公司(電商)目前使用 elasticsearch。對於一個3億資料量索引查詢速度都是在毫秒級別,不過實現都是基於Java的client. 本人因為是.NET出身,雖然現在做JAVA。但是對.NET情有獨鍾。所以閒暇時間研究了下 elasticsearch的.NET

ASP.Net Core 5.0 MVC中AOP思想的體現(五種過濾器)並結合專案案例說明過濾器的用法

執行順序    使用方法,首先實現各自的介面,override裡面的方法, 然後在startup 類的 ConfigureServices 方法,註冊它們。 services.AddTransient(typeof(MyAction));

elasticsearch-5.6.0安裝錯誤摘記

5.6 需要 with oot 用戶組 pre nta arch exc    [2017-09-17T06:00:22,511][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught except

Elasticsearch-5.4.0叢集搭建

1、Elasticsearch-5.4.0 安裝包下載地址:https://www.elastic.co/downloads/past-releases/elasticsearch-5-4-0 2、解壓檔案:tar -zxvf /home/elasticsearch-5.4.0.tar.gz -

CentOS 6.5 搭建 .NET 環境, Mono 5.16.0 + Jexus 5.8

   最近有這樣一個打算,就是準備把以前的有一個.NET 網站部署在Linux 下面,正好試試 .NET 跨平臺的功能,為後續研究 .netCore 方向準備。 搭建環境:   CentOS 6.5 + Mono 5.16.0 + Jexus 5.8.3 (1). Mono 安裝

CentOS 6.5 搭建 .NET 環境, Mono 5.16.0 + Jexus 5.8

curl ubun o-c tab dex 查看 如果 手動 就是 最近有這樣一個打算,就是準備把以前的有一個.NET 網站部署在Linux 下面,正好試試 .NET 跨平臺的功能,為後續研究 .netCore 方向準備。 搭建環境:   CentOS 6.5 + M

ElasticSearch 5.0.0 安裝部署常見錯誤或問題

[2016-11-06T16:27:21,712][WARN ][o.e.b.JNANatives ] unable to install syscall filter: Java.lang.UnsupportedOperationException: seccomp

Mono 4.0 Mac上執行asp.net mvc 5.2.3

使用Xamarin Studio 建立了一個asp.net mvc 專案: 模版使用的是5.2.0 版本的,目標框架是Mono/.NET 4.5,我通過Nuget 更新到了5.2.3 , 更新包的過程中需要調整下web.config System.Web.Mvc的版本從5.2.0 更新為5.2.

CentOs7 +Jexus 5.8.2部署Asp.Net Core WebApi 1.0生產環境

Jexus 是一款運行於 Linux 平臺,以支援  ASP.NET、PHP 為特色的集高安全性和高效能為一體的 WEB 伺服器和反向代理伺服器。最新版 5.8.2 已經發布,有如下更新: 1,現在大部分網站已經部署HTTPS,大家對於安全越來越重視,順應潮流新增HTTPS多證書支援,每個網站都可以配置自己

春節前最後一篇,CRUD碼農專用福利:PDF.NET之SOD Version 5.1.0 開源釋出(兼更名)

從2013.10.1日起,原PDF.NET 將更名為 SOD :- 原PDF.NET框架將成為一個全功能的企業開發框架,而 SOD框架將是PDF.NET開發框架下面的 “資料開發框架 ”,詳細資訊請看框架官網 框架下載地址:  大大的 下載按鈕 ,進去便是 。 原始碼的獨立下載正在

如何設定使 IIS 應用程式池使用 ASP.Net 3.5 而不是 2.0

現在,開啟 web.config 檔案並觀察變化。一些處理器被新增到其中以支援 Ajax,還有一些新的 ASP.NET 特性,但是最重要的是 <system.codedom> 標記還有程式集區域中新增的程式集。 <compilation debug="false"> <assem

Elasticsearch 5.2.0 學習指南(一)

在網上找了好久很難找到全的Elasticsearch 5.x以上版本的參考資料;在自己琢磨玩後過來總結一下,以供入門者參考和自己以後用於回顧;以下用Elasticsearch的簡稱ES。 安裝ES5.X首先準備如下: 2.下載ES5.X安裝包;(我用的5.2.0);

1.關於安裝Microsoft .NET Framework 4.5\ 4.0 安裝不了的解決辦法

在安裝Microsoft .NET Framework 4.5\4.0 時當出現錯誤程式碼 HRESULT 0xc8000222原因:windows update的臨時檔案損壞 建議重新命名該資料夾時使用以下解決辦法:步驟 1.開始----- 執行------- cmd

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(5.3) 登入功能的實現,豐富資料表、建立關聯

1 USE [wkmvc_db] 2 GO 3 /****** Object: Table [dbo].[SYS_CODE] Script Date: 2016/5/17 9:30:01 ******/ 4 SET ANSI_NULLS ON 5 GO 6 SET

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(5.4) 登入功能的實現,建立與登入使用者相關的介面和實現類

索引 簡述 今天我們建立幾個與登入使用者相關的資料表的介面和實現類 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(5.5) 登入功能的實現,完善登入功能

索引 簡述 今天我們來完善我們的登入功能 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了。 專案開

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(5.2) 登入功能的實現,介面注入、log4net的使用

索引 簡述 前兩天事情比較多,耽誤更新了,希望大家多多包涵,今天我們繼續做我們的登入功能 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(5.1) 登入功能的實現,開始接觸Spring IOC、DI

索引 簡述 今天我們做登入,今天的東西比較多,用到了Spring的IOC和DI、介面的使用、驗證等,希望大家多多討論 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些

IIS同一站點下aps.net 1.1 2.0 3.5 共存方法

伺服器安裝了一個.net2.0,一個.net3.5的程式,折磨了我甚久。 一個搞定,一個就over。 “本是同根生,相煎何太急!” 百度google解決之道,總算摸到一些門道。 只需給每一個網站設定獨立的“應用程式池”即可。 是以記之。