Elastisearch不会通过带有动态类的嵌套调用返回数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elastisearch不会通过带有动态类的嵌套调用返回数据相关的知识,希望对你有一定的参考价值。
是Elastic search和NEST的新手,我正在尝试通过NEST与我的ES服务器建立连接。我的ES连接初始化如下所示。
ElasticClient client = null;
public void Connect()
var local = new Uri("http://192.168.40.95:9200/");
var settings = new ConnectionSettings(local).DisableDirectStreaming();
client = new ElasticClient(settings);
settings.DefaultIndex("gisgcc18q4");
ReadAllData();
public void ReadAllData()
var x= client.Search<dynamic>(s=> s.MatchAll());
我从没收到任何点击数或数据。我没有在连接器上犯任何错误,也请向我推荐一个很好的教程,将JSOn ES查询也转换为NEST。
答案
查看屏幕快照中的Uri
POST /gisgcc18q4/object/_search?typed_keys=true
建议您使用的版本早于7,例如5或6,其中使用的是文档类型。在这种情况下,已经从作为通用参数参数传递的"object"
类型推断出文档类型名称dynamic
,但是我怀疑文档没有以"object"
的文档类型名称进行索引。
如果索引“ gisgcc18q4”仅包含一种类型的文档,则可以使用
var x = client.Search<dynamic>(s=> s.MatchAll().AllTypes());
或者您可以传递要使用的特定文档类型名称
var x = client.Search<dynamic>(s=> s.MatchAll().Type("_doc"));
该客户端的入门指南是elasticsearch-net-example GitHub存储库。这是构建ASP.NET Core Web应用程序以搜索Nuget包的演练。
另一答案
您的连接看起来不错,您能否通过单击它来验证DebugInfrormation下的详细摘要,并获取行查询和响应。
在邮递员上执行相同的查询后。
请在屏幕快照中显示的同一行上,将以下表达式复制并粘贴到快速监视窗口中。
((Elasticsearch.Net.ApiCallDetails)response.ApiCall).DebugInformation
您将获得详细信息,这将有助于您调查此问题。
以上是关于Elastisearch不会通过带有动态类的嵌套调用返回数据的主要内容,如果未能解决你的问题,请参考以下文章