文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
客户端:https://www.elastic.co/guide/en/elasticsearch/client/index.html
API:https://www.elastic.co/guide/en/elasticsearch/reference/6.4/search-request-from-size.html
.net
1.连接,项目中引用Nest包
var settings = new ConnectionSettings(new Uri("http://example.com:9200"))
.DefaultIndex("people");
var client = new ElasticClient(settings);
2.索引
public class Person { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } }
var person = new Person { Id = 1, FirstName = "Martijn", LastName = "Laarman" }; var indexResponse = client.IndexDocument(person); var asyncIndexResponse = await client.IndexDocumentAsync(person);
3.查询
var searchResponse = client.Search<Person>(s => s .From(0) .Size(10) .Query(q => q .Match(m => m .Field(f => f.FirstName) .Query("Martijn") ) ) ); var people = searchResponse.Documents;
4.删除
var person = new Person { Id = 1 }; var deleteResponse= client.Delete<Person>(dept);
在kibana中操作
查看
删除
添加一个新的Index
public class StudentQuery { public int StudentId { get; set; } public List<string> Items { get; set; } }
var settings = new ConnectionSettings(new Uri("http://10.15.4.155:9200/")).DefaultIndex("student"); var client = new ElasticClient(settings); for (int i = 0; i < 10; i++) { StudentQuery student = new StudentQuery(); student.StudentId = i; student.Items = new List<string>(); student.Items.Add("Code"+i); student.Items.Add("Name"+i); student.Items.Add("CardId"+i); student.Items.Add("IdentityId"+i); var indexResponse = client.IndexDocument(student); }