如何解决无法使用 ElasticSearch Nest Client 查询 MongoDB.Bson.ObjectId
我有一个 C# 模型,它代表 MongoDB
中的集合/表。假设它看起来像:
public class MyModel
{
public ObjectId Id { get; set; }
public ObjectId ClaimId { get; set; }
pub string SomeStringProperty { get; set; }
//..other props
}
这个模型有几个类型为 ObjectId
的属性,它是 MonboDB.Bson Package 的一部分。
问题:当我使用 NEST 将我的 List<MyModel>
索引到我的 ElasticSearch
服务器时,ObjectId
的所有 MyModel
类型字段在 ElasticSearch 中看起来像以下结构:
问题:如何在 ElasticSearch 中查询“where”子句中有 ObjectId 字段的数据?
当我必须过滤 SomeStringProperty
的字符串字段 MyModel
时,我可以执行以下操作,效果很好:
var result =
_elasticclient.Search<MyModel>(x => x
.Index("mymodels")
.Query(q => q
.Term(p => p.someStringProperty.Suffix("keyword"),filterValue)
)
)
但是如何在 ObjectId 字段上应用相同的过滤器?我尝试了一些东西但它不匹配,我认为这是因为它的值在elasticsearch服务器中已经完全改变了。有没有办法查询这个字段?
我浏览了几篇关于 SO 的文章,但找不到与此问题类似或完全相同的问题。其次,我只是 ElasticSearch 世界的初学者。任何帮助/指南将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。