private static Document Doc(int id, PositionsTokenStream positions) { Document doc = new Document(); doc.Add(new StringField(ID_FIELD, id.ToString(), Field.Store.YES)); doc.Add(new StringField(DOCS_ENUM_FIELD, DOCS_ENUM_TERM, Field.Store.NO)); positions.SetId(id); if (DoesntSupportOffsets.Contains(TestUtil.GetPostingsFormat(DOC_POSITIONS_FIELD))) { // codec doesnt support offsets: just index positions for the field doc.Add(new Field(DOC_POSITIONS_FIELD, positions, TextField.TYPE_NOT_STORED)); } else { doc.Add(new Field(DOC_POSITIONS_FIELD, positions, POSITIONS_TYPE)); } doc.Add(new NumericDocValuesField(NUMERIC_DV_FIELD, id)); TextField norms = new TextField(NORMS_FIELD, id.ToString(), Field.Store.NO); norms.Boost = (Number.Int32BitsToSingle(id)); doc.Add(norms); doc.Add(new BinaryDocValuesField(BINARY_DV_FIELD, new BytesRef(id.ToString()))); doc.Add(new SortedDocValuesField(SORTED_DV_FIELD, new BytesRef(id.ToString()))); if (DefaultCodecSupportsSortedSet) { doc.Add(new SortedSetDocValuesField(SORTED_SET_DV_FIELD, new BytesRef(id.ToString()))); doc.Add(new SortedSetDocValuesField(SORTED_SET_DV_FIELD, new BytesRef((id + 1).ToString()))); } doc.Add(new Field(TERM_VECTORS_FIELD, id.ToString(), TERM_VECTORS_TYPE)); return(doc); }
/** Creates an index for sorting. */ public void CreateIndex(Directory dir, int numDocs, Random random) { IList <int> ids = new List <int>(); for (int i = 0; i < numDocs; i++) { ids.Add(i * 10); } // shuffle them for indexing // LUCENENET NOTE: Using LINQ, so we need to reassign the variable with the result ids = CollectionsHelper.Shuffle(ids); if (VERBOSE) { Console.WriteLine("Shuffled IDs for indexing: " + Arrays.ToString(ids.ToArray())); } PositionsTokenStream positions = new PositionsTokenStream(); IndexWriterConfig conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)); conf.SetMaxBufferedDocs(4); // create some segments conf.SetSimilarity(new NormsSimilarity(conf.Similarity)); // for testing norms field using (RandomIndexWriter writer = new RandomIndexWriter(random, dir, conf)) { writer.RandomForceMerge = (false); foreach (int id in ids) { writer.AddDocument(Doc(id, positions)); } // delete some documents writer.Commit(); foreach (int id in ids) { if (random.NextDouble() < 0.2) { if (VERBOSE) { Console.WriteLine("delete doc_id " + id); } writer.DeleteDocuments(new Term(ID_FIELD, id.ToString())); } } } }
/** Creates an index for sorting. */ public void CreateIndex(Directory dir, int numDocs, Random random) { IList<int> ids = new List<int>(); for (int i = 0; i < numDocs; i++) { ids.Add(i * 10); } // shuffle them for indexing // LUCENENET NOTE: Using LINQ, so we need to reassign the variable with the result ids = CollectionsHelper.Shuffle(ids); if (VERBOSE) { Console.WriteLine("Shuffled IDs for indexing: " + Arrays.ToString(ids.ToArray())); } PositionsTokenStream positions = new PositionsTokenStream(); IndexWriterConfig conf = NewIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random)); conf.SetMaxBufferedDocs(4); // create some segments conf.SetSimilarity(new NormsSimilarity(conf.Similarity)); // for testing norms field using (RandomIndexWriter writer = new RandomIndexWriter(random, dir, conf)) { writer.RandomForceMerge = (false); foreach (int id in ids) { writer.AddDocument(Doc(id, positions)); } // delete some documents writer.Commit(); foreach (int id in ids) { if (random.NextDouble() < 0.2) { if (VERBOSE) { Console.WriteLine("delete doc_id " + id); } writer.DeleteDocuments(new Term(ID_FIELD, id.ToString())); } } } }
private static Document Doc(int id, PositionsTokenStream positions) { Document doc = new Document(); doc.Add(new StringField(ID_FIELD, id.ToString(), Field.Store.YES)); doc.Add(new StringField(DOCS_ENUM_FIELD, DOCS_ENUM_TERM, Field.Store.NO)); positions.SetId(id); if (DoesntSupportOffsets.contains(TestUtil.GetPostingsFormat(DOC_POSITIONS_FIELD))) { // codec doesnt support offsets: just index positions for the field doc.Add(new Field(DOC_POSITIONS_FIELD, positions, TextField.TYPE_NOT_STORED)); } else { doc.Add(new Field(DOC_POSITIONS_FIELD, positions, POSITIONS_TYPE)); } doc.Add(new NumericDocValuesField(NUMERIC_DV_FIELD, id)); TextField norms = new TextField(NORMS_FIELD, id.ToString(), Field.Store.NO); norms.Boost = (Number.IntBitsToFloat(id)); doc.Add(norms); doc.Add(new BinaryDocValuesField(BINARY_DV_FIELD, new BytesRef(id.ToString()))); doc.Add(new SortedDocValuesField(SORTED_DV_FIELD, new BytesRef(id.ToString()))); if (DefaultCodecSupportsSortedSet()) { doc.Add(new SortedSetDocValuesField(SORTED_SET_DV_FIELD, new BytesRef(id.ToString()))); doc.Add(new SortedSetDocValuesField(SORTED_SET_DV_FIELD, new BytesRef((id + 1).ToString()))); } doc.Add(new Field(TERM_VECTORS_FIELD, id.ToString(), TERM_VECTORS_TYPE)); return doc; }