public void Remove(JToken token, ItemPointer pointer) { foreach (var index in indexes) { index.Value.Remove(token, pointer); } }
public void Index(JToken token, ItemPointer pointer) { foreach (var index in indexes) { index.Value.Index(token, pointer); } }
public void Index(JToken token, ItemPointer pointer) { var indexPointer = definition.GetPointer(token); if (indexPointer != null) { Put(indexPointer.HashKey, indexPointer.SortKey, pointer); } }
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); } }
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); } } }