elasticsearch 插入数据时对抽象类型进行分页,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch 插入数据时对抽象类型进行分页,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch 插入数据时对抽象类型进行分页

elasticsearch 插入数据时对抽象类型进行分页,elasticsearch,nest,elasticsearch,Nest,我正在编写一个解析数据并将其插入弹性搜索的应用程序。插入过程非常耗时,我需要允许用户在插入仍在继续时查看插入的数据。所有my db元素都实现了一个名为IExtractionObject的基本接口。我尝试了以下代码: public IEnumerable GetItems(IEnumerable类型,long objectCategory,int size=50) { var-from=0; var结果=搜索(类型、对象类别、发件人、大小); while(result.Documents.Any(

我正在编写一个解析数据并将其插入弹性搜索的应用程序。插入过程非常耗时,我需要允许用户在插入仍在继续时查看插入的数据。所有my db元素都实现了一个名为
IExtractionObject
的基本接口。我尝试了以下代码:

public IEnumerable GetItems(IEnumerable类型,long objectCategory,int size=50)
{
var-from=0;
var结果=搜索(类型、对象类别、发件人、大小);
while(result.Documents.Any())
{
foreach(result.Documents中的var extractionObject)
{
收益提取对象;
}
from+=大小+1;
结果=搜索(类型、对象类别、发件人、大小);
}
}
专用IQueryResponse搜索(IEnumerable类型、long objectCategory、int-from、int-size)
{
返回ElasticClient.Search(srch=>srch
.Types(Types.Distinct())
.Query(q=>q.Term(i=>i.ObjectCategory,ObjectCategory))
.从(从)
.尺码(尺码));
}
我的问题是,当我有超过500个元素时,我几乎总是提取同一个元素两次。我读到应该使用
Scroll
方法,但我发现它需要一个具体的类型。是否有其他方法来处理此问题,或者是否有方法通过
滚动
加载抽象数据

请帮忙


Izhar

滚动不需要具体的
\u类型
。滚动就像是现有搜索上的光标。您只需继续从原始搜索中获取更多结果。我已经看到该对象以json格式出现。如何将它们反序列化为.Net对象?不知道:)如何将Elasticsearch的JSON响应反序列化为.Net对象?我猜这是您的应用程序需要实现的东西。Nest为我实现了这一点。我想我应该看看代码来了解这是如何做到的