建立索引CreateIndex

2022-01-15 15:48:38 字數 1673 閱讀 7283

nuget引用nest

原始碼可查elasticclient.cs

new乙個elasticclient有多種方式

es位址是http://localhost:9200,可以直接new,如下所示

var client = new elasticclient();
原始碼中顯示 new elasticclient()

public elasticclient() : this(new connectionsettings(new uri("http://localhost:9200")))
由此可以推斷一下,如果本地安裝的使用不是9200埠或者遠端連線es服務端,可以這麼寫

string uri = "";

var settings = new connectionsettings(new uri(uri)).

defaultindex("people");

var client = new elasticclient(settings);

uri uri = new uri("");

var client = new elasticclient(uri);

這裡只舉例官方文件中推薦使用的sniffingconnectionpool

sniffingconnectionpool執行緒安全,開銷很小,允許執行時reseeded。不明白reseeded的執行機制,留個疑問。

public static elasticclient getelasticclientbypool()

;var connectionpool = new sniffingconnectionpool(uris);

var settings = new connectionsettings(connectionpool)

.defaultindex("people");

var client = new elasticclient(settings);

return client;

}

參考:elastic官方文件

判斷索引是否存在

var existsresponse = _elasticclient.indexexists(_indexname);

var indexexists = existsresponse.exists

indexexists 為true,索引存在;為false,索引不存在。

建立索引並初始化索引配置和結構

//基本配置

iindexstate indexstate = new indexstate

};icreateindexresponse response = _elasticclient.createindex(_indexname, p => p

.initializeusing(indexstate)

);if (response.isvalid)

else

注意:索引名稱必須為小寫,如果含有大寫字母,異常資訊為"invalid index name [test], must be lowercase"

MySQL建立索引(CREATE INDEX)

索引的建立對於 mysql 資料庫的高效執行是很重要的,索引可以大大提公升 mysql 的檢索速度。mysql 提供了三種建立索引的方法 1 使用 create index 語句 可以使用專門用於建立索引的 create index 語句在乙個已有的表上建立索引,但該語句不能建立主鍵。語法格式 cr...

c mysql建立索引 MySQL 建立索引

1 索引建立原則 1 搜尋的索引列,不一定是所要選擇的列。換句話說,最適合索引的列是出現在where子句中的列,或連線子句中指定的列,而不是出現在select關鍵字後的選擇列表中的列。2 使用唯一索引。考慮某列中值的分布。索引的列的基數越大,索引的效果越好。3 使用短索引。如果對字串列進行索引,應該...

(索引)建立MySQL索引

建立索引的必要性 主鍵預設是建立索引的,而且具有唯一性 合適地建立索引後比不建立索引,提高了查詢速度 建立索引的語法 簡單索引 可以有重複資料 create index indexname on tablename column name 1舉例子說明如 建立乙個資料表,設定一些初始的資料,然後採用...