構建
ConnectionSettings
時調用DefaultIndex()
方法指定默認索引名。當沒法爲請求解析具體索引名時使用默認索引名html
var settings = new ConnectionSettings() .DefaultIndex("defaultindex"); var client = new ElasticClient(settings); var searchResponse = client.Search<Project>();
此時,當發送請求時實際 URL 以下api
"http://localhost:9200/defaultindex/_search"
構建
ConnectionSettings
時調用DefaultMappingFor<T>()
方法爲類對象配置映射的索引名app
var settings = new ConnectionSettings() .DefaultMappingFor<Project>(m => m .IndexName("projects") ); var client = new ElasticClient(settings); var searchResponse = client.Search<Project>();
此時,當發送請求時實際 URL 以下elasticsearch
"http://localhost:9200/projects/_search"
DefaultMappingFor<T>()
方法配置映射的索引名使用優先級高於 DefaultIndex()
方法設置的默認索引名var settings = new ConnectionSettings() .DefaultIndex("defaultindex") .DefaultMappingFor<Project>(m => m .IndexName("projects") ); var client = new ElasticClient(settings); var projectSearchResponse = client.Search<Project>();
此時,當發送請求時實際 URL 以下ide
"http://localhost:9200/projects/_search"
可是如下寫法ui
var objectSearchResponse = client.Search<object>();
發送請求時實際 URL 以下code
"http://localhost:9200/defaultindex/_search"
DefaultMappingFor<T>()
還能夠用於指定類型的其餘默認值,包括屬性名稱、用於文檔id的屬性等等對於須要索引名的API調用,能夠在請求中顯式地提供索引名htm
var settings = new ConnectionSettings(); var client = new ElasticClient(settings); var response = client.Search<Project>(s => s .Index("some-other-index") );
此時,當發送請求時實際 URL 以下對象
"http://localhost:9200/some-other-index/_search"
當在請求中顯示指定索引名時,它將優先於 DefaultMappingFor<T>()
方法配置映射的索引名和DefaultIndex()
方法設置的默認索引名排序
var settings = new ConnectionSettings() .DefaultIndex("defaultindex") .DefaultMappingFor<Project>(m => m .IndexName("projects") ); var client = new ElasticClient(settings); var response = client.Search<Project>(s => s .Index("some-other-index"));
此時,當發送請求時實際 URL 以下
"http://localhost:9200/some-other-index/_search"
執行請求時的索引名取值優先級排序爲