/* * Licensed to Elasticsearch under one or more contributor * license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright * ownership. Elasticsearch licenses this file to you under * the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.elasticsearch.index.fielddata; import org.apache.lucene.document.Document; import org.apache.lucene.document.DoubleField; import org.apache.lucene.document.Field; import org.apache.lucene.document.StringField; import org.apache.lucene.index.Term; /** */ public class DoubleFieldDataTests extends AbstractNumericFieldDataTestCase { @Override protected FieldDataType getFieldDataType() { return new FieldDataType("double", getFieldDataSettings()); } @Override protected String one() { return "1.0"; } @Override protected String two() { return "2.0"; } @Override protected String three() { return "3.0"; } @Override protected String four() { return "4.0"; } @Override protected void add2SingleValuedDocumentsAndDeleteOneOfThem() throws Exception { Document d = new Document(); d.add(new StringField("_id", "1", Field.Store.NO)); d.add(new DoubleField("value", 2.0d, Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "2", Field.Store.NO)); d.add(new DoubleField("value", 4.0d, Field.Store.NO)); writer.addDocument(d); writer.commit(); writer.deleteDocuments(new Term("_id", "1")); } @Override protected void fillSingleValueAllSet() throws Exception { Document d = new Document(); d.add(new StringField("_id", "1", Field.Store.NO)); d.add(new DoubleField("value", 2.0d, Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "2", Field.Store.NO)); d.add(new DoubleField("value", 1.0d, Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "3", Field.Store.NO)); d.add(new DoubleField("value", 3.0d, Field.Store.NO)); writer.addDocument(d); } @Override protected void fillSingleValueWithMissing() throws Exception { Document d = new Document(); d.add(new StringField("_id", "1", Field.Store.NO)); d.add(new DoubleField("value", 2.0d, Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "2", Field.Store.NO)); //d.add(new StringField("value", one(), Field.Store.NO)); // MISSING.... writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "3", Field.Store.NO)); d.add(new DoubleField("value", 3.0d, Field.Store.NO)); writer.addDocument(d); } @Override protected void fillMultiValueAllSet() throws Exception { Document d = new Document(); d.add(new StringField("_id", "1", Field.Store.NO)); d.add(new DoubleField("value", 2.0d, Field.Store.NO)); d.add(new DoubleField("value", 4.0d, Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "2", Field.Store.NO)); d.add(new DoubleField("value", 1.0d, Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "3", Field.Store.NO)); d.add(new DoubleField("value", 3.0d, Field.Store.NO)); writer.addDocument(d); } @Override protected void fillMultiValueWithMissing() throws Exception { Document d = new Document(); d.add(new StringField("_id", "1", Field.Store.NO)); d.add(new DoubleField("value", 2.0d, Field.Store.NO)); d.add(new DoubleField("value", 4.0d, Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "2", Field.Store.NO)); //d.add(new StringField("value", one(), Field.Store.NO)); // MISSING writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "3", Field.Store.NO)); d.add(new DoubleField("value", 3.0f, Field.Store.NO)); writer.addDocument(d); } @Override protected void fillExtendedMvSet() throws Exception { Document d = new Document(); d.add(new StringField("_id", "1", Field.Store.NO)); d.add(new DoubleField("value", 2, Field.Store.NO)); d.add(new DoubleField("value", 4, Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "2", Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "3", Field.Store.NO)); d.add(new DoubleField("value", 3, Field.Store.NO)); writer.addDocument(d); writer.commit(); d = new Document(); d.add(new StringField("_id", "4", Field.Store.NO)); d.add(new DoubleField("value", 4, Field.Store.NO)); d.add(new DoubleField("value", 5, Field.Store.NO)); d.add(new DoubleField("value", 6, Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "5", Field.Store.NO)); d.add(new DoubleField("value", 6, Field.Store.NO)); d.add(new DoubleField("value", 7, Field.Store.NO)); d.add(new DoubleField("value", 8, Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "6", Field.Store.NO)); writer.addDocument(d); d = new Document(); d.add(new StringField("_id", "7", Field.Store.NO)); d.add(new DoubleField("value", 8, Field.Store.NO)); d.add(new DoubleField("value", 9, Field.Store.NO)); d.add(new DoubleField("value", 10, Field.Store.NO)); writer.addDocument(d); writer.commit(); d = new Document(); d.add(new StringField("_id", "8", Field.Store.NO)); d.add(new DoubleField("value", -8, Field.Store.NO)); d.add(new DoubleField("value", -9, Field.Store.NO)); d.add(new DoubleField("value", -10, Field.Store.NO)); writer.addDocument(d); } }