Использование C# NEST API на Elasticsearch:Elasticsearch NEST API - запрос правильный индекс
var searchResults = client.Search<Product>(s => s
.Index(Constants.ElasticSearchIndex)
.Query(q => q
.Raw(jsonRequest)
)
);
Запрос должен работать на/sc_all/индекса, но он работает на/sc_all/продукта/индекс (который не существует -/product/кажется добавленным из-за поиска, поскольку T = произведение).
Если я, как это,/продукт/заменяется значением константы, т.е./sc_all/продукта/=>/sc_all/constant_value /:
var searchResults = client.Search<Product>(s => s
.Index(Constants.ElasticSearchIndex)
.Type(Constants.ElasticSearchType)
.Query(q => q
.Raw(jsonRequest)
)
);
Что я должен делать, если я просто хотите запросить/sc_all/и ничего больше?
Спасибо! Запрос
Json:
"{\" отфильтрованного \ ": {\" запрос \ ": {\" match_all \ ": {}}, \" фильтр \ ": {\" вложенными \ ": {\" путь \ ": \" products \ ", \" filter \ ": {\" вложенные \ ": {\" путь \ ": \" products.da \ ", \" filter \ ": {\ "bool \": {\ "must \": [{\ "query \": {\ "query_string \": {\ "default_field \": \ "products.da.content \", \ "query \ ": \" kildemoes \ "}}}}}}}}}}}}, \" from \ ": 0, \" size \ ": 100"
Спасибо, но мой запрос Json уже содержит «match_all». Я добавил его к моему вопросу выше. – Louisa
@ Louisa Я думаю, вы пропустили точку - если вы укажете '.AllTypes()' в теле запроса поиска, то вы будете искать по всем типам в индексе 'Constants.ElasticSearchIndex'. Я добавил примерное значение для 'jsonRequest', поэтому код, который вы указали, будет скомпилирован. –
Хорошая точка. Спасибо за разъяснения. – Louisa