Exemplo n.º 1
0
        public static void WriteDataColumnTable()
        {
            using (
                var client =
                    Client.Builder <ChinaOpalSearch.EntityID, ChinaOpalSearch.SnappsEntity>(
                        environment: Config.environment,
                        osNamespace: Config.osNamespace,
                        osTable: Config.osTable,
                        timeout: new TimeSpan(0, 0, 0, 1000),
                        maxRetries: 1).Create())
            {
                var record = client.CreateColumnRecord(new ChinaOpalSearch.EntityID {
                    Id = BaseHelper.TsvBase64Encode("Leon")
                });

                OSColumnOperationResultType result;
                result = record.SetColumnValue <string>("Name", null, "Leon");
                if (result != OSColumnOperationResultType.OSColumnResultSuccess)
                {
                    //error handling
                }

                result = record.SetColumnValue <string>("KgId", null, "0");
                if (result != OSColumnOperationResultType.OSColumnResultSuccess)
                {
                    //error handling
                }

                result = record.SetColumnValue <string>("Description", null, "an assassin and a girl");
                if (result != OSColumnOperationResultType.OSColumnResultSuccess)
                {
                    //error handling
                }

                var res = BaseHelper.IngestColumnTable(record);

                /*
                 * oSearch-like ingest is not work for Column Table
                 *
                 */
                //ChinaOpalSearch.EntityID key = new ChinaOpalSearch.EntityID();
                //key.Id = "1";
                //ChinaOpalSearch.SnappsEntity value = new ChinaOpalSearch.SnappsEntity();
                //value.Name = "007";
                //value.KgId = "1";
                //value.Description = "from russia with love";
                //var task2 = client.Write(new[] {
                //    new KeyValuePair<ChinaOpalSearch.EntityID, ChinaOpalSearch.SnappsEntity>(key, value) }).SendAsync();
                //try
                //{
                //    task2.Wait();
                //}
                //catch (Exception e)
                //{
                //    // One or more errors occurred.
                //    Console.WriteLine(e.Message);
                //}
                IngestData();
            }
        }
Exemplo n.º 2
0
        public static async Task ReadDataColumnTable()
        {
            using (
                var client =
                    Client.Builder <ChinaOpalSearch.EntityID, ChinaOpalSearch.SnappsEntity>(
                        environment: Config.environment,
                        osNamespace: Config.osNamespace,
                        osTable: Config.osTable,
                        timeout: new TimeSpan(0, 0, 0, 1000),
                        maxRetries: 1).Create())
            {
                var keys = new List <ChinaOpalSearch.EntityID> {
                    new ChinaOpalSearch.EntityID {
                        Id = BaseHelper.TsvBase64Encode("Leon")
                    },
                    new ChinaOpalSearch.EntityID {
                        Id = BaseHelper.TsvBase64Encode("! [ai-ou]")
                    },
                    new ChinaOpalSearch.EntityID {
                        Id = "ISBbYWktb3Vd"
                    },
                    new ChinaOpalSearch.EntityID {
                        Id = "85354b40-2904-0e0f-f42a-4d2900ca04d0"
                    }
                };

                var columninfos = new List <ColumnLocation>();
                columninfos.Add(new ColumnLocation("Name", ""));
                columninfos.Add(new ColumnLocation("KgId", ""));
                columninfos.Add(new ColumnLocation("Description", ""));

                List <IColumnRecord <ChinaOpalSearch.EntityID> > records;
                records = await client.ColumnRead(keys, columninfos).SendAsync();

                OSColumnOperationResultType result;
                foreach (var item in records)
                {
                    string Name;
                    result = item.GetColumnValue <string>("Name", null, out Name);
                    Console.WriteLine("Name: " + Name);
                    string KgId;
                    result = item.GetColumnValue <string>("KgId", null, out KgId);
                    Console.WriteLine("KgId: " + KgId);
                    string Description;
                    result = item.GetColumnValue <string>("Description", null, out Description);
                    Console.WriteLine("Description: " + Description);

                    Console.WriteLine();
                }
            }
        }