我正在使用Microsoft SQL Server Management Studio和ElasticSearch 2.3.4与ElasticSearch-jdbc-2.3.4.1,并且我将ES链接到我的mssql服务器。一切工作正常,但是当我在我的MVC程序上使用NEST进行查询时,结果为空。当我把我的search
属性中的空字符串,我得到的元素,但是当我尝试用一些过滤器填充它,我得到一个空的结果。有人可以帮我吗?提前致谢。Elasticsearch查询与NEST不起作用
C#:
const string ESServer = "http://localhost:9200";
ConnectionSettings settings = new ConnectionSettings(new Uri(ESServer));
settings.DefaultIndex("tiky");
settings.MapDefaultTypeNames(map => map.Add(typeof(DAL.Faq), "faq"));
ElasticClient client = new ElasticClient(settings);
var response = client.Search<DAL.Faq>(s => s.Query(q => q.Term(x => x.Question, search)));
var result = response.Documents.ToList();
PS:我跟着this guide创建它
编辑:
可以分享索引映射吗? 'http:// localhost:9200/tiky/_mapping' – Rob
@Rob当然,我已更新问题 –
分析问题字段,并使用术语查询与not_analyzed字段一起工作。你可以阅读更多关于[这里](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html)。 – Rob