12
12
import org .apache .lucene .document .Document ;
13
13
import org .apache .lucene .geo .GeoEncodingUtils ;
14
14
import org .apache .lucene .index .DirectoryReader ;
15
+ import org .apache .lucene .index .IndexWriter ;
16
+ import org .apache .lucene .index .IndexWriterConfig ;
15
17
import org .apache .lucene .index .LeafReader ;
16
18
import org .apache .lucene .store .Directory ;
17
- import org .apache .lucene .tests .index .RandomIndexWriter ;
18
19
import org .elasticsearch .common .geo .GeometryNormalizer ;
19
20
import org .elasticsearch .core .Strings ;
20
21
import org .elasticsearch .geo .GeometryTestUtils ;
39
40
import static org .apache .lucene .geo .GeoEncodingUtils .decodeLongitude ;
40
41
import static org .elasticsearch .common .geo .Orientation .RIGHT ;
41
42
42
- public class ShapeGeometryFieldMapperTests extends ESTestCase {
43
+ public class AbstractShapeGeometryFieldMapperTests extends ESTestCase {
43
44
public void testCartesianBoundsBlockLoader () throws IOException {
44
45
testBoundsBlockLoader (
45
46
CoordinateEncoder .CARTESIAN ,
46
47
() -> ShapeTestUtils .randomGeometryWithoutCircle (0 , false ),
47
48
CartesianShapeIndexer ::new ,
48
49
SpatialEnvelopeVisitor ::visitCartesian ,
49
- ShapeGeometryFieldMapperTests ::makeCartesianRectangle
50
+ AbstractShapeGeometryFieldMapperTests ::makeCartesianRectangle
50
51
);
51
52
}
52
53
@@ -58,7 +59,7 @@ public void ignoreTestGeoBoundsBlockLoader() throws IOException {
58
59
() -> normalize (GeometryTestUtils .randomGeometryWithoutCircle (0 , false )),
59
60
field -> new GeoShapeIndexer (RIGHT , field ),
60
61
g -> SpatialEnvelopeVisitor .visitGeo (g , SpatialEnvelopeVisitor .WrapLongitude .WRAP ),
61
- ShapeGeometryFieldMapperTests ::makeGeoRectangle
62
+ AbstractShapeGeometryFieldMapperTests ::makeGeoRectangle
62
63
);
63
64
}
64
65
@@ -72,7 +73,7 @@ public void ignoreTestRectangleCrossingDateline() throws IOException {
72
73
geometries ,
73
74
field -> new GeoShapeIndexer (RIGHT , field ),
74
75
g -> SpatialEnvelopeVisitor .visitGeo (g , SpatialEnvelopeVisitor .WrapLongitude .WRAP ),
75
- ShapeGeometryFieldMapperTests ::makeGeoRectangle
76
+ AbstractShapeGeometryFieldMapperTests ::makeGeoRectangle
76
77
);
77
78
}
78
79
@@ -100,7 +101,9 @@ private static void testBoundsBlockLoaderAux(
100
101
) throws IOException {
101
102
var loader = new AbstractShapeGeometryFieldMapper .AbstractShapeGeometryFieldType .BoundsBlockLoader ("field" );
102
103
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 */ ))) {
104
107
for (Geometry geometry : geometries ) {
105
108
var shape = new BinaryShapeDocValuesField ("field" , encoder );
106
109
shape .add (indexerFactory .apply ("field" ).indexShape (geometry ), geometry );
0 commit comments