如何解决为什么在我的控制方法鸟巢创建索引?
我正在使用 net 6.0.1 和 asp.net mvc。
var node = new Uri("http://localhost:9200");
var setting = new ConnectionSettings(node);
var client = new Elasticclient(setting);
var news = new News
{
NewsTitle = "TestTitle"
};
client.Index(news,idx => idx.Index("NewsTitle"));
var response = client.Get<News>(1,idx => idx.Index("NewsTitle"));
ElasticSearch 已安装并正在运行,但是当我尝试运行这些代码行时,它什么也没做。没有创建索引。
解决方法
有几点需要考虑
-
client.Index(news,idx => idx.Index("NewsTitle"));
不检查索引文档请求的响应。检查响应是否成功是个好主意 - NEST 在所有响应中都有一个方便的
.IsValid
属性 考虑响应是否有效的语义 -
var response = client.Get<News>(1,idx => idx.Index("NewsTitle"));
尝试从"NewsTitle"
索引中获取一个 id 为1
的文档,但是刚刚索引的文档没有 id,因此 Elasticsearch 会生成一个索引文档时随机一个。NEST 有一个约定,如果要索引的 POCO 具有
Id
属性,它将使用它作为文档的 id。因此,如果News
类被修改为包含一个int
Id 属性,并且索引的实例被分配了一个 Id 属性值1
,get 请求将返回索引文档。>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。