public void StringEnumTest() { using (StringFieldEnumerator sfe = new StringFieldEnumerator(reader, "string", false)) { int value = 0; foreach (string s in sfe.Terms) { value++; } Assert.AreEqual(1000, value); } // now with the documents using (StringFieldEnumerator sfe = new StringFieldEnumerator(reader, "string")) { int value = 0; foreach (string s in sfe.Terms) { foreach (int doc in sfe.Docs) { string expected = reader.Document(doc).Get("string"); Assert.AreEqual(expected, s); } value++; } Assert.AreEqual(1000, value); } }
/// <summary> /// Create the values for the cache. /// </summary> /// <param name="reader"></param> /// <param name="key">The key for the item in cache - in this case a field name.</param> /// <returns></returns> protected override Terms CreateValue(IndexReader reader, string key) { Terms item = new Terms(); item.Field = key; using (StringFieldEnumerator sfe = new StringFieldEnumerator(reader, key, false)) { foreach (string s in sfe.Terms) { item.Count++; } } return(item); }