Используя ElasticSearch NEST, у меня возникают проблемы с получением ожидаемых результатов от моих запросов. Мой индекс/тип выглядит следующим образом:
- театры (индекс)
- событие (типы)
- театр
- продвижение
- общий контент
Каждый из этих типов имеет свои собственные поля, и я использую метод NEST Index() для индексации данных. Я могу проверить, что он правильно индексируется:
- Глядя на
http://localhost:9200/theatres/_mapping
- Использование плагина Head для просмотра данных
Для справки, вот моя конфигурация клиента:
// TODO: Put settings in config
var node = new Uri("http://localhost:9200");
var connSettings = new ConnectionSettings(node);
connSettings.SetDefaultIndex("theatres");
connSettings.ThrowOnElasticsearchServerExceptions();
var client = new ElasticClient(connSettings);
Запрос
Теперь для запроса я хочу искать все типы и все поля в индексе. Используя плагин Head, я могу сгенерировать запрос и получить ожидаемые результаты:
Используя этот запрос, который он сгенерировал, я попробовал следующий запрос NEST:
var query = "waukesha"; // This would be passed in
var resp = client.Search<dynamic>(s => s
.From(0)
.Take(10)
.Query(qry => qry
.Bool(b => b
.Must(m => m
.QueryString(qs => qs
.DefaultField("_all")
.Query(query))))));
Однако это дает мне другой результат. Является ли NEST чем-то за кулисами, о котором я не знаю? Или это не поддерживается?