C# 如何在.Net应用程序中使用Ignite Cache TextQuery
我使用的是ApacheIgnite2.7.6,我有一个.Net核心ClientServerIgnite应用程序。 我正在尝试从标有QueryTextField的Person Model字段有效负载中读取/搜索文本 点燃文档 人物模型: 代码:C# 如何在.Net应用程序中使用Ignite Cache TextQuery,c#,ignite,C#,Ignite,我使用的是ApacheIgnite2.7.6,我有一个.Net核心ClientServerIgnite应用程序。 我正在尝试从标有QueryTextField的Person Model字段有效负载中读取/搜索文本 点燃文档 人物模型: 代码: 使用(IIgniteClient=Ignition.StartClient(此.\u igniteClientConfiguration)) { //获取缓存配置 var cache=client.GetCache(cacheName); 尝试 { //查
使用(IIgniteClient=Ignition.StartClient(此.\u igniteClientConfiguration))
{
//获取缓存配置
var cache=client.GetCache(cacheName);
尝试
{
//查询所有简历中有“硕士学位”的人。
var cursor=cache.Query(新文本查询(“个人”、“硕士学位”);//错误
//迭代结果。使用“foreach”循环将自动关闭光标。
foreach(游标中的var cacheEntry)
Console.WriteLine(cacheEntry.Value);
}
捕获(例外情况除外)
{
投掷;
}
}
但是我在cache.Query(newtextquery(“Person”,“Master Degree”))上得到一个编译时错误代码>
像
错误CS1503参数1:无法从转换
'Apache.Ignite.Core.Cache.Query.TextQuery'到
'Apache.Ignite.Core.Cache.Query.ScanQuery'
.Net中是否支持TextQuery?
如何解决上述错误
谢谢。文本查询在Ignite瘦客户端中不受支持:
- 改用胖客户端(.NET胖客户端支持
TextQuery
)
- 使用服务或计算作为解决方法(wrap
TextQuery
调用服务或计算任务,使用瘦客户端调用服务或任务)
public class Person: IConstructionCacheStore
{
[QueryTextField]
public string Payload { get; set; }
}
using (IIgniteClient client = Ignition.StartClient(this._igniteClientConfiguration))
{
//get cache config
var cache = client.GetCache<string, IConstructionCacheStore>(cacheName);
try
{
// Query for all people with "Master Degree" in their resumes.
var cursor = cache.Query(new TextQuery("Person", "Master Degree"));//Error
// Iterate over results. Using 'foreach' loop will close the cursor automatically.
foreach (var cacheEntry in cursor)
Console.WriteLine(cacheEntry.Value);
}
catch (Exception ex)
{
throw;
}
}