1212import org .apache .lucene .document .Document ;
1313import org .apache .lucene .geo .GeoEncodingUtils ;
1414import org .apache .lucene .index .DirectoryReader ;
15+ import org .apache .lucene .index .IndexWriter ;
16+ import org .apache .lucene .index .IndexWriterConfig ;
1517import org .apache .lucene .index .LeafReader ;
1618import org .apache .lucene .store .Directory ;
17- import org .apache .lucene .tests .index .RandomIndexWriter ;
1819import org .elasticsearch .common .geo .GeometryNormalizer ;
1920import org .elasticsearch .core .Strings ;
2021import org .elasticsearch .geo .GeometryTestUtils ;
3940import static org .apache .lucene .geo .GeoEncodingUtils .decodeLongitude ;
4041import static org .elasticsearch .common .geo .Orientation .RIGHT ;
4142
42- public class ShapeGeometryFieldMapperTests extends ESTestCase {
43+ public class AbstractShapeGeometryFieldMapperTests extends ESTestCase {
4344 public void testCartesianBoundsBlockLoader () throws IOException {
4445 testBoundsBlockLoader (
4546 CoordinateEncoder .CARTESIAN ,
4647 () -> ShapeTestUtils .randomGeometryWithoutCircle (0 , false ),
4748 CartesianShapeIndexer ::new ,
4849 SpatialEnvelopeVisitor ::visitCartesian ,
49- ShapeGeometryFieldMapperTests ::makeCartesianRectangle
50+ AbstractShapeGeometryFieldMapperTests ::makeCartesianRectangle
5051 );
5152 }
5253
@@ -58,7 +59,7 @@ public void ignoreTestGeoBoundsBlockLoader() throws IOException {
5859 () -> normalize (GeometryTestUtils .randomGeometryWithoutCircle (0 , false )),
5960 field -> new GeoShapeIndexer (RIGHT , field ),
6061 g -> SpatialEnvelopeVisitor .visitGeo (g , SpatialEnvelopeVisitor .WrapLongitude .WRAP ),
61- ShapeGeometryFieldMapperTests ::makeGeoRectangle
62+ AbstractShapeGeometryFieldMapperTests ::makeGeoRectangle
6263 );
6364 }
6465
@@ -72,7 +73,7 @@ public void ignoreTestRectangleCrossingDateline() throws IOException {
7273 geometries ,
7374 field -> new GeoShapeIndexer (RIGHT , field ),
7475 g -> SpatialEnvelopeVisitor .visitGeo (g , SpatialEnvelopeVisitor .WrapLongitude .WRAP ),
75- ShapeGeometryFieldMapperTests ::makeGeoRectangle
76+ AbstractShapeGeometryFieldMapperTests ::makeGeoRectangle
7677 );
7778 }
7879
@@ -100,7 +101,9 @@ private static void testBoundsBlockLoaderAux(
100101 ) throws IOException {
101102 var loader = new AbstractShapeGeometryFieldMapper .AbstractShapeGeometryFieldType .BoundsBlockLoader ("field" );
102103 try (Directory directory = newDirectory ()) {
103- try (var iw = new RandomIndexWriter (random (), directory )) {
104+ // Since we also test that the documents are loaded in the correct order, we need to write them in order, so we can't use
105+ // RandomIndexWriter here.
106+ try (var iw = new IndexWriter (directory , new IndexWriterConfig (null /* analyzer */ ))) {
104107 for (Geometry geometry : geometries ) {
105108 var shape = new BinaryShapeDocValuesField ("field" , encoder );
106109 shape .add (indexerFactory .apply ("field" ).indexShape (geometry ), geometry );
0 commit comments