如何在 .Net 应用程序中使用 Ignite Cache TextQuery

How to use Ignite Cache TextQuery in .Net Application

我正在使用 Apache Ignite v2.7。6.And我有一个 .Net 核心 ClientServer Ignite 应用程序。 我正在尝试 read/search 来自标有 QueryTextField 的 Person Model 字段 Payload 的文本。

TextQuery Ignite 文档。

人物模型:

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;
                }

            }

但我在 cache.Query(new TextQuery("Person", "Master Degree")); 处遇到编译时错误 喜欢

Error CS1503 Argument 1: cannot convert from 'Apache.Ignite.Core.Cache.Query.TextQuery' to 'Apache.Ignite.Core.Cache.Query.ScanQuery<string, ConstructionModels.IConstructionCacheStore>'

.Net 是否支持 TextQuery? 如何解决以上错误?

谢谢。

TextQuery 在 Ignite 瘦客户端中不受支持:

  • 改为使用胖客户端(.NET 胖客户端支持 TextQuery
  • 使用服务或计算作为解决方法(将 TextQuery 调用包装在服务或计算任务中,使用瘦客户端调用服务或任务)