Впервые использую ElasticSearch (используя NEST в качестве оболочки). Я хочу выполнить поиск во внешней базе данных ElasticSearch.
Я просто хочу запустить тестовый запрос к определенному полю с именем cvrNummer
. У меня есть следующий код, который не компилируется, потому что: The type arguments for method 'ElasticSearch.Search<T> .. ', cannot be inferred from the usage.
Я предполагаю, что это потому, что я не могу указать класс для конкретного типа. Проблема в том, что я не знаю этого.
Мой вопрос: как выполнить приведенный ниже запрос, точно не зная, что я получу в ответ (чтобы создать модель для конкретного типа)? И если мне нужна эта модель, как мне «сделать» эту модель, когда нет документации?
Мой код:
var settings = new ConnectionSettings(new Uri(_path)).
BasicAuthentication(_username,_password);
var client = new ElasticClient(settings);
var es_query = new TermsQuery
{
Name = "named_query",
Boost = 1.1,
Field = "cvrNummer",
Terms = new string[] { "36406208" }
};
client.Search(es_query);
Единственная документация, которая у меня есть:
curl -u "<brugernavn>:<password>" -XPOST http://URL -d'
{ "from" : 0, "size" : 1,
"query": {
"term": {
"cvrNummer": VALUE
}
}
}
ИЗМЕНИТЬ БОЛЬШЕ ДАННЫХ:
Модель документа из документации:
curl -u "<brugernavn>:<password>" -XGET http://distribution.virk.dk/cvr-permanent/_mapping
Пример полного поиска:
curl -u "<brugernavn>:<password>" -XPOST http://distribution.virk.dk/cvr-permanent/_search -d'
{ "from" : 0, "size" : 1,
"query": {
"term": {
"cvrNummer": 10961211
}
}
}
'
client.Search<dynamic>(s => s.From(0).Size(1).Query(q => q.Terms(t => t.Name("named_query").Boost(1.1f).Field("cvrNummer").Terms("36406208"))));
- person Evk   schedule 04.03.2018s => s.From(0).Size(1).Index("cvr-permanent").AllTypes().(... the rest of the above...)
- person Evk   schedule 04.03.2018