I ran into the same problem (and did not answer) here ElasticSearch NEST Search
I use:
I have an MVC controller that has two actions:
Index - containing the HTML form of the user interface
Search - containing the Elasticsearch.NET client and request.
public ActionResult Search(SearchCreteria sc)
{
Settings settings = new Settings();
Client client = new Client(settings);
ElasticsearchClient esClient = client.Get();
var test = esClient.Search<Contract>(body => body.Query(query => query.QueryString(qs => qs.Query("test"))));
return View(test);
}
The whole "body => body.Query (query => query.QueryString (qs => qs.Query (" test ")))" lambda expression in the above code has a reddish underline with the following hint:
(Parameter)? Body
Error:
Cannot convert lambda expression to type 'object' because it is not a delegate type
, 99% , System.Linq.
.. , , , NEST - (, , , NEST), , , , :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Mvc;
using WebUI.Models.Concrete;
using Domain.Concrete.Entities;
using Domain.Concrete.Connectivity.Elastic;
using Domain.Concrete.Processors.Elastic;
using Elasticsearch;
using Elasticsearch.Net;
using Elasticsearch.Net.Connection.Configuration;
using Elasticsearch.Net.Connection.RequestState;
using Elasticsearch.Net.Connection.Security;
using Elasticsearch.Net.ConnectionPool;
using Elasticsearch.Net.Exceptions;
using Elasticsearch.Net.Providers;
using Elasticsearch.Net.Serialization;
using Nest;
using Nest.Domain;
using Nest.DSL.Descriptors;
using Nest.DSL.Query;
using Nest.DSL.Query.Behaviour;
using Nest.DSL.Visitor;
using Nest.Resolvers.Converters.Aggregations;
using Nest.Resolvers.Converters.Filters;
using Nest.Resolvers.Converters.Queries;
using Nest.Resolvers.Writers;
, , . , , , .