Java Code Examples for org.apache.lucene.search.spell.Dictionary#getEntryIterator()
The following examples show how to use
org.apache.lucene.search.spell.Dictionary#getEntryIterator() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DocumentDictionaryTest.java From lucene-solr with Apache License 2.0 | 6 votes |
@Test public void testEmptyReader() throws IOException { Directory dir = newDirectory(); Analyzer analyzer = new MockAnalyzer(random()); IndexWriterConfig iwc = newIndexWriterConfig(analyzer); iwc.setMergePolicy(newLogMergePolicy()); // Make sure the index is created? RandomIndexWriter writer = new RandomIndexWriter(random(), dir, iwc); writer.commit(); writer.close(); IndexReader ir = DirectoryReader.open(dir); Dictionary dictionary = new DocumentDictionary(ir, FIELD_NAME, WEIGHT_FIELD_NAME, PAYLOAD_FIELD_NAME); InputIterator inputIterator = dictionary.getEntryIterator(); assertNull(inputIterator.next()); assertEquals(inputIterator.weight(), 0); assertNull(inputIterator.payload()); IOUtils.close(ir, analyzer, dir); }
Example 2
Source File: DocumentValueSourceDictionaryTest.java From lucene-solr with Apache License 2.0 | 6 votes |
@Test public void testValueSourceEmptyReader() throws IOException { Directory dir = newDirectory(); Analyzer analyzer = new MockAnalyzer(random()); IndexWriterConfig iwc = newIndexWriterConfig(analyzer); iwc.setMergePolicy(newLogMergePolicy()); // Make sure the index is created? RandomIndexWriter writer = new RandomIndexWriter(random(), dir, iwc); writer.commit(); writer.close(); IndexReader ir = DirectoryReader.open(dir); Dictionary dictionary = new DocumentValueSourceDictionary(ir, FIELD_NAME, LongValuesSource.constant(10), PAYLOAD_FIELD_NAME); InputIterator inputIterator = dictionary.getEntryIterator(); assertNull(inputIterator.next()); assertEquals(inputIterator.weight(), 0); assertNull(inputIterator.payload()); IOUtils.close(ir, analyzer, dir); }
Example 3
Source File: DocumentValueSourceDictionaryTest.java From lucene-solr with Apache License 2.0 | 6 votes |
@Test public void testLongValuesSourceEmptyReader() throws IOException { Directory dir = newDirectory(); Analyzer analyzer = new MockAnalyzer(random()); IndexWriterConfig iwc = newIndexWriterConfig(analyzer); iwc.setMergePolicy(newLogMergePolicy()); // Make sure the index is created? RandomIndexWriter writer = new RandomIndexWriter(random(), dir, iwc); writer.commit(); writer.close(); IndexReader ir = DirectoryReader.open(dir); Dictionary dictionary = new DocumentValueSourceDictionary(ir, FIELD_NAME, LongValuesSource.constant(10), PAYLOAD_FIELD_NAME); InputIterator inputIterator = dictionary.getEntryIterator(); assertNull(inputIterator.next()); assertEquals(inputIterator.weight(), 0); assertNull(inputIterator.payload()); IOUtils.close(ir, analyzer, dir); }
Example 4
Source File: DocumentDictionaryTest.java From lucene-solr with Apache License 2.0 | 5 votes |
@Test public void testWithOptionalPayload() throws IOException { Directory dir = newDirectory(); Analyzer analyzer = new MockAnalyzer(random()); IndexWriterConfig iwc = newIndexWriterConfig(analyzer); iwc.setMergePolicy(newLogMergePolicy()); RandomIndexWriter writer = new RandomIndexWriter(random(), dir, iwc); // Create a document that is missing the payload field Document doc = new Document(); Field field = new TextField(FIELD_NAME, "some field", Field.Store.YES); doc.add(field); // do not store the payload or the contexts Field weight = new NumericDocValuesField(WEIGHT_FIELD_NAME, 100); doc.add(weight); writer.addDocument(doc); writer.commit(); writer.close(); IndexReader ir = DirectoryReader.open(dir); // Even though the payload field is missing, the dictionary iterator should not skip the document // because the payload field is optional. Dictionary dictionaryOptionalPayload = new DocumentDictionary(ir, FIELD_NAME, WEIGHT_FIELD_NAME, PAYLOAD_FIELD_NAME); InputIterator inputIterator = dictionaryOptionalPayload.getEntryIterator(); BytesRef f = inputIterator.next(); assertTrue(f.equals(new BytesRef(doc.get(FIELD_NAME)))); IndexableField weightField = doc.getField(WEIGHT_FIELD_NAME); assertEquals(inputIterator.weight(), weightField.numericValue().longValue()); IndexableField payloadField = doc.getField(PAYLOAD_FIELD_NAME); assertNull(payloadField); assertTrue(inputIterator.payload().length == 0); IOUtils.close(ir, analyzer, dir); }
Example 5
Source File: DocumentDictionaryTest.java From lucene-solr with Apache License 2.0 | 5 votes |
@Test public void testMultiValuedField() throws IOException { Directory dir = newDirectory(); Analyzer analyzer = new MockAnalyzer(random()); IndexWriterConfig iwc = newIndexWriterConfig(random(), analyzer); iwc.setMergePolicy(newLogMergePolicy()); RandomIndexWriter writer = new RandomIndexWriter(random(), dir, iwc); List<Suggestion> suggestions = indexMultiValuedDocuments(atLeast(1000), writer); writer.commit(); writer.close(); IndexReader ir = DirectoryReader.open(dir); Dictionary dictionary = new DocumentDictionary(ir, FIELD_NAME, WEIGHT_FIELD_NAME, PAYLOAD_FIELD_NAME, CONTEXT_FIELD_NAME); InputIterator inputIterator = dictionary.getEntryIterator(); BytesRef f; Iterator<Suggestion> suggestionsIter = suggestions.iterator(); while((f = inputIterator.next())!=null) { Suggestion nextSuggestion = suggestionsIter.next(); assertTrue(f.equals(nextSuggestion.term)); long weight = nextSuggestion.weight; assertEquals(inputIterator.weight(), (weight != -1) ? weight : 0); assertEquals(inputIterator.payload(), nextSuggestion.payload); assertTrue(inputIterator.contexts().equals(nextSuggestion.contexts)); } assertFalse(suggestionsIter.hasNext()); IOUtils.close(ir, analyzer, dir); }
Example 6
Source File: TestHighFrequencyDictionary.java From lucene-solr with Apache License 2.0 | 5 votes |
public void testEmpty() throws Exception { Directory dir = newDirectory(); IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(new MockAnalyzer(random()))); writer.commit(); writer.close(); IndexReader ir = DirectoryReader.open(dir); Dictionary dictionary = new HighFrequencyDictionary(ir, "bogus", 0.1f); BytesRefIterator tf = dictionary.getEntryIterator(); assertNull(tf.next()); dir.close(); }