示例#1
0
 public void Remove(JToken token, ItemPointer pointer)
 {
     foreach (var index in indexes)
     {
         index.Value.Remove(token, pointer);
     }
 }
示例#2
0
 public void Index(JToken token, ItemPointer pointer)
 {
     foreach (var index in indexes)
     {
         index.Value.Index(token, pointer);
     }
 }
示例#3
0
        public void Index(JToken token, ItemPointer pointer)
        {
            var indexPointer = definition.GetPointer(token);

            if (indexPointer != null)
            {
                Put(indexPointer.HashKey, indexPointer.SortKey, pointer);
            }
        }
示例#4
0
        private void Put(string hashKey, string sortKey, ItemPointer pointer)
        {
            var sortData = data.GetOrAdd(hashKey, s => new ConcurrentSortedDictionary <string, List <ItemPointer> >());
            var pointers = sortData.GetOrAdd(sortKey ?? defaultSort, s => new List <ItemPointer>());

            if (!pointers.Contains(pointer))
            {
                pointers.Add(pointer);
            }
        }
示例#5
0
        public void Remove(JToken token, ItemPointer pointer)
        {
            var indexPointer = definition.GetPointer(token);

            if (indexPointer != null && data.TryGetValue(indexPointer.HashKey, out var sortData))
            {
                if (sortData.TryGetValue(indexPointer.SortKey ?? defaultSort, out var pointers))
                {
                    pointers.Remove(pointer);
                }
            }
        }