mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-08 22:14:59 +00:00
another test
This commit is contained in:
parent
93e025325e
commit
267859c784
@ -20,10 +20,7 @@
|
|||||||
package org.elasticsearch.deps.lucene;
|
package org.elasticsearch.deps.lucene;
|
||||||
|
|
||||||
import org.apache.lucene.document.*;
|
import org.apache.lucene.document.*;
|
||||||
import org.apache.lucene.index.IndexReader;
|
import org.apache.lucene.index.*;
|
||||||
import org.apache.lucene.index.IndexWriter;
|
|
||||||
import org.apache.lucene.index.Term;
|
|
||||||
import org.apache.lucene.index.TermEnum;
|
|
||||||
import org.apache.lucene.search.IndexSearcher;
|
import org.apache.lucene.search.IndexSearcher;
|
||||||
import org.apache.lucene.search.TermQuery;
|
import org.apache.lucene.search.TermQuery;
|
||||||
import org.apache.lucene.search.TopDocs;
|
import org.apache.lucene.search.TopDocs;
|
||||||
@ -202,6 +199,57 @@ public class SimpleLuceneTests {
|
|||||||
indexWriter.close();
|
indexWriter.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A test just to verify that term freqs are not stored for numeric fields. <tt>int1</tt> is not storing termFreq
|
||||||
|
* and <tt>int2</tt> does.
|
||||||
|
*/
|
||||||
|
@Test public void testNumericTermDocsFreqs() throws Exception {
|
||||||
|
Directory dir = new RAMDirectory();
|
||||||
|
IndexWriter indexWriter = new IndexWriter(dir, Lucene.STANDARD_ANALYZER, true, IndexWriter.MaxFieldLength.UNLIMITED);
|
||||||
|
|
||||||
|
Document doc = new Document();
|
||||||
|
NumericField field = new NumericField("int1").setIntValue(1);
|
||||||
|
field.setOmitNorms(true);
|
||||||
|
field.setOmitTermFreqAndPositions(true);
|
||||||
|
doc.add(field);
|
||||||
|
|
||||||
|
field = new NumericField("int1").setIntValue(1);
|
||||||
|
field.setOmitNorms(true);
|
||||||
|
field.setOmitTermFreqAndPositions(true);
|
||||||
|
doc.add(field);
|
||||||
|
|
||||||
|
field = new NumericField("int2").setIntValue(1);
|
||||||
|
field.setOmitNorms(true);
|
||||||
|
field.setOmitTermFreqAndPositions(false);
|
||||||
|
doc.add(field);
|
||||||
|
|
||||||
|
field = new NumericField("int2").setIntValue(1);
|
||||||
|
field.setOmitNorms(true);
|
||||||
|
field.setOmitTermFreqAndPositions(false);
|
||||||
|
doc.add(field);
|
||||||
|
|
||||||
|
indexWriter.addDocument(doc);
|
||||||
|
|
||||||
|
IndexReader reader = indexWriter.getReader();
|
||||||
|
|
||||||
|
TermDocs termDocs = reader.termDocs();
|
||||||
|
|
||||||
|
TermEnum termEnum = reader.terms(new Term("int1", ""));
|
||||||
|
termDocs.seek(termEnum);
|
||||||
|
assertThat(termDocs.next(), equalTo(true));
|
||||||
|
assertThat(termDocs.doc(), equalTo(0));
|
||||||
|
assertThat(termDocs.freq(), equalTo(1));
|
||||||
|
|
||||||
|
termEnum = reader.terms(new Term("int2", ""));
|
||||||
|
termDocs.seek(termEnum);
|
||||||
|
assertThat(termDocs.next(), equalTo(true));
|
||||||
|
assertThat(termDocs.doc(), equalTo(0));
|
||||||
|
assertThat(termDocs.freq(), equalTo(2));
|
||||||
|
|
||||||
|
reader.close();
|
||||||
|
indexWriter.close();
|
||||||
|
}
|
||||||
|
|
||||||
private IndexReader refreshReader(IndexReader reader) throws IOException {
|
private IndexReader refreshReader(IndexReader reader) throws IOException {
|
||||||
IndexReader oldReader = reader;
|
IndexReader oldReader = reader;
|
||||||
reader = reader.reopen();
|
reader = reader.reopen();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user