我有一个与 Redis/RediSearch 集成的 .net 核心微服务。我进行的搜索应该返回 13 个哈希文档,但只返回 10 个。在 elasticSearch 中有一个默认大小参数(10),但在 Redis 中我没有找到类似的。我该如何解决?
public List<DynamicDoc> GetFullMoc(string queryParm){
var redisConection = ConnectionMultiplexer.Connect(GetParameter("REDIS_SERVER"));
var dbRedis = new Client("feeders", redisConection.GetDatabase());
string searchString = "@MOC:" + queryParm;
NRediSearch.Query query = new NRediSearch.Query(searchString);
string[] returnFields = { "Moc", "H_W","H_Y", "F"};
query.ReturnFields(returnFields);
query.WithPayloads = true;
SearchResult res = dbRedis.Search(query);
List<DynamicDoc> dynamicDocs = new List<DynamicDoc>();
foreach (Document doc in res.Documents)
{
IEnumerable<KeyValuePair<string, RedisValue>> record = doc.GetProperties();
string jsonRecord = JsonConvert.SerializeObject(record);
Dictionary<string, object> _record = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonRecord);
Console.WriteLine("\n \n \n ================" + doc.Id + "================ \n \n \n");
foreach(var rec in _record){
Console.WriteLine(rec);
}
DynamicDoc dynamicDoc = new DynamicDoc()
{
id = doc.Id,
score = doc.Score,
payload = _record
};
dynamicDocs.Add(dynamicDoc);
}
return dynamicDocs;
}
动态文档:
namespace cached_data_manager.Business.Interface
{
public class DynamicDoc
{
public string id { get; set; }
public double score { get; set; }
public Dictionary<string, object> payload{ get; set; }
}
}