Вот как я ищу документ, но он не возвращает никаких результатов:
var results = ElasticClient.Search<ClusterInstance>(body => body
.AllIndices()
.Size(500)
.Query(query => query
.QueryString(qs => qs.Query("MyTestName"))
)
);
resultobject.clusterinstances = results.Documents.ToList();
Когда я использую это как поисковый запрос в Elasticsearch, я получаю результаты (из них 2), которые мне нужны.
{
"query": {
"bool": {
"must": [
{
"query_string": {
"query": "MyTestName"
}
}
],
"must_not": [],
"should": []
}
},
"from": 0,
"size": 10,
"sort": [],
"facets": {}
}
Создание ElasticClient:
private static ElasticClient ElasticClient
{
get
{
var uri = new Uri("http://localhost:9200")
return new ElasticClient(new ConnectionSettings(uri));
}
}
Индексация:
foreach (var cluster in db.ClusterInstances.Where(a => a.Active.Equals(true)))
{
client.Index(cluster, "cmdbcli", "clusters", cluster.ClusterInstanceID);
}
Версия: NEST — клиент Elasticsearch 0.12.0 (NuGet)