java

Reading different entities from multiple indices with one call using Spring Data Elasticsearch

The problem In Elasticsearch (the the current version at the time of writing this post is 7.12.1) every index holds exactly one type of data. This type is defined by the index mapping which describes the fields of the index and their types. Spring Data Elasticsearch (the current version is 4.2) automatically maps between a Java class – the entity type – with its properties and the data in the Elasticsearch index.

How to use Elasticsearch's range types with Spring Data Elasticsearch

Elasticsearch allows the data, that is stored in a document, to be not only of elementary types, but also of a range of types, see the documentation. With a short example I will explain this range type and how to use it in Spring Data Elasticsearch (the current version being 4.0.3). For this example we want be able to answer the question: “Who was president of the United States of America in the year X?

Search entities within a geographic distance with Spring Data Elasticsearch 4

A couple of months ago I published the post Using geo-distance sort in Spring Data Elasticsearch 4. In the comments there came up the question “What about searching within a distance?” Well, this is not supported by query derivation from the method name, but it can easily be done with a custom repository implementation (see the documentation for more information about that). I updated the example – which is available on GitHub – and will explain what is needed for this implementation.

mapjfx display problem on Windows 10 seems solved

For some time now there was a bug that the map was not displaying properly on some Windows systems, see mapjfx problems https://github.com/sothawo/mapjfx/issues/36 https://github.com/sothawo/mapjfx/issues/81 It seems this was because of a bug in the WebView from JavaFX https://bugs.openjdk.java.net/browse/JDK-8234471. Thanks to https://github.com/vewert and https://github.com/Abu-Abdullah investigating into this. This issue was fixed with JavaFX15, I tried this on a virtual machine with Windows10 and could not reproduce the error anymore. There is no need to update mapjfx to JavaFX15 (as macOS and *nix are not hit by this bug).

Use an index name defined by the entity to store data in Spring Data Elasticsearch 4.0

When using Spring Data Elasticsearch (I am referencing the current version 4.0.2), normally the name of the index where the documents are stored is taken from the @Document annotation of the entity class – here it’s books: @Document(indexName="books") public class Book { // ... } Recently in a discussion of a Pull Request in Spring Data Elasticsearch, someone told that she needed a possibility to extract the name from the entity itself, as entities might go to different indices.

mapjfx 2.15.0 and 1.33.0 released adding circles and OpenLayers 6.4.2

I just released mapjfx versions 1.33.0 and 2.15.0, they will be available in maven central: <dependency> <groupId>com.sothawo</groupId> <artifactId>mapjfx</artifactId> <version>1.33.0</version> </dependency> <dependency> <groupId>com.sothawo</groupId> <artifactId>mapjfx</artifactId> <version>2.15.0</version> </dependency> 1.33.0 is built using Java 8 and 2.15.0 uses Java 11. Circles can now be added to a map, giving the center coordinates and the radius in meters with custom coloring and transparency, thanks to Hanwoo Kim for this contribution! The OpenLayers version now is 6.

How to provide a dynamic index name in Spring Data Elasticsearch using SpEL

In Spring Data Elasticsearch – at the time of writing, version 4.0 is the current version – the name of an index is normally defined by the @Document annotation on the entity class. For the following examples let’s assume we want to write some log entries to Elasticsearch with our application. We use the following entity: @Document(indexName = "log") public class LogEntity { @Id private String id = UUID.randomUUID().toString(); @Field(type = FieldType.

mapjfx 1.32.0 and 2.14.0 adds the ability to rotate markers and labels

I just released mapjfx versions 1.32.0 and 2.14.0, they will be available in maven central: <dependency> <groupId>com.sothawo</groupId> <artifactId>mapjfx</artifactId> <version>1.32.0</version> </dependency> <dependency> <groupId>com.sothawo</groupId> <artifactId>mapjfx</artifactId> <version>2.14.0</version> </dependency> 1.32.0 is built using Java 8 and 2.14.0 uses Java 11. Markers and Labels on a map now have a rotation property which will rotate the corresponding HTML Element. The values goes from 0 to 360 and defines the rotating angle clockwise.

mapjfx 1.31.1 and 2.13.1 fixing event triggering regression

I just released mapjfx versions 1.31.1 and 2.13.1, they will be available in maven central: <dependency> <groupId>com.sothawo</groupId> <artifactId>mapjfx</artifactId> <version>1.31.1</version> </dependency> <dependency> <groupId>com.sothawo</groupId> <artifactId>mapjfx</artifactId> <version>2.13.1</version> </dependency> 1.31.1 is built using Java 8 and 2.13.1 uses Java 11. These versions fix a regression where events for markers and labels (mouse enter/leave, context click etc) where not created anymore due to enabling scroll/zoom behaviour on markers and labels. Now all events are dispatched again as they should.

mapjfx 1.30.0 and 2.11.0 with new Bing Maps MapTypes

I just released mapjfx versions 1.30.0 and 2.11.0, they will be available in maven central: <dependency> <groupId>com.sothawo</groupId> <artifactId>mapjfx</artifactId> <version>1.30.0</version> </dependency> <dependency> <groupId>com.sothawo</groupId> <artifactId>mapjfx</artifactId> <version>2.11.0</version> </dependency> 1.30.0 is built using Java 8 and 2.11.0 uses Java 12. In these version 4 new variants for the Bing Map mapType are added (thanks to https://github.com/MalteBahr)