Skip to content

[pull] main from spring-projects:main #82

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 545 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
545 commits
Select commit Hold shift + click to select a range
f4a5796
Update CI properties.
gregturn Sep 5, 2023
e6338f9
Update TESTING.adoc
sothawo Sep 9, 2023
d97e8ec
Bump com.github.tomakehurst:wiremock-jre8 from 2.35.0 to 2.35.1
dependabot[bot] Sep 10, 2023
ddd7e67
Polishing.
mp911de Sep 11, 2023
50317d6
Upgrade to Elasticsearch 8.10.0.
sothawo Sep 13, 2023
2d0aee0
Fix refresh policy in UpdateQuery.
sothawo Sep 13, 2023
87523d7
Prepare 5.2 M3 (2023.1.0).
mp911de Sep 15, 2023
764b1f6
Release version 5.2 M3 (2023.1.0).
mp911de Sep 15, 2023
9902729
Prepare next development iteration.
mp911de Sep 15, 2023
de87dd4
After release cleanups.
mp911de Sep 15, 2023
bbfb6ff
Allow providing a custom ElasticsearchTransport in the configuration …
sothawo Sep 17, 2023
3330d65
Fix converting of Range<?> in Lists.
sothawo Sep 23, 2023
092306a
Allow explicit index mapping writing on repository startup.
sothawo Sep 23, 2023
fb989db
Upgrade to OpenWebBeans 4.0.
mp911de Sep 29, 2023
df31d1b
Upgrade to Maven Wrapper 3.9.5.
jxblum Oct 4, 2023
8e32868
Update CI properties.
jxblum Oct 5, 2023
d905c81
Upgrade to Elasticsearch 8.10.2.
sothawo Oct 5, 2023
ccb7d23
Consider Pageable in stream repository method.
sothawo Oct 6, 2023
0b33d7f
Introduce IndexOperationsAdapter.
sothawo Oct 8, 2023
9f42ec9
Enhance refresh policy handling.
sothawo Oct 11, 2023
cab94b0
Upgrade to elasticsearch 8.10.3 (#2731)
sothawo Oct 13, 2023
2d87d25
Prepare 5.2 RC1 (2023.1.0).
jxblum Oct 13, 2023
377a08c
Release version 5.2 RC1 (2023.1.0).
jxblum Oct 13, 2023
64c5fb1
Prepare next development iteration.
jxblum Oct 13, 2023
db3ad13
After release cleanups.
jxblum Oct 13, 2023
6180f59
Use ExistsRequest instead of GetRequest to check if documents exists.
mawen12 Oct 13, 2023
bdcd7c8
Polishing.
sothawo Oct 13, 2023
64ada11
Update CI properties.
gregturn Oct 16, 2023
ba44684
Use pattern matching instead of type casting.
junghoon-vans Oct 17, 2023
dda9e99
Update CI properties.
gregturn Oct 19, 2023
62686f3
Connect build to ge.spring.io.
erichaagdev Sep 15, 2023
a0b04a3
The parameter in Criteria#assertNoBlankInWildcardQuery is set incorre…
mawen12 Oct 21, 2023
73fe086
Fix reactive native sort.
sothawo Oct 23, 2023
d281df7
docs: Fix typos in documentation (#2752)
gonmmarques Nov 2, 2023
3b93b6a
Use correct overload of Flux.bufferTimeout().
sothawo Nov 3, 2023
9abcacb
Use routing info on delete operations.
sothawo Nov 6, 2023
2f6fae6
Fix handling of @ID property in Java records.
sothawo Nov 8, 2023
d25fd52
Update to Elasticsearch 8.11.1.
sothawo Nov 15, 2023
d21f9f7
Update versions.adoc
sothawo Nov 15, 2023
559953a
Update versions.adoc
sothawo Nov 15, 2023
426dee7
Prepare 5.2 GA (2023.1.0).
mp911de Nov 17, 2023
7408bf5
Release version 5.2 GA (2023.1.0).
mp911de Nov 17, 2023
d05b9f8
Prepare next development iteration.
mp911de Nov 17, 2023
612cc50
After release cleanups.
mp911de Nov 17, 2023
ddd795a
Fixed the URL for the Spring Data Commons documentation.
runbing Nov 19, 2023
1f44790
Improve client ssl configuration.
sothawo Nov 24, 2023
7af7633
Introduce property for Jenkins user and Artifactory server details.
mp911de Nov 27, 2023
05ca90e
Add strict date formats.
sothawo Nov 27, 2023
3833975
Fix type of returned sort values.
sothawo Nov 30, 2023
415d5e0
Removed junk characters from code.
sothawo Nov 30, 2023
8613eb2
Use pattern matching instead of type casting.
junghoon-vans Dec 3, 2023
4edf9be
Update elasticsearch-repositories.adoc.
knightdreams6 Dec 8, 2023
72e8f41
Fixes Typo ElasticsearchHttpClientConfigurationCallback.
patbaumgartner Dec 8, 2023
1d6a1b0
Use switch expressions to simplify case branches.
junghoon-vans Dec 12, 2023
fb9ccf7
Polishing.
sothawo Dec 12, 2023
8a3df63
Upgrade to Elasticsearch 8.11.2.
sothawo Dec 12, 2023
0e41913
support highlight_query (#2793)
puppylpg Dec 13, 2023
362126e
Upgrade to Maven Wrapper 3.9.6.
mp911de Dec 14, 2023
d0ed80d
Update CI properties.
mp911de Dec 14, 2023
96b3865
Support highlight query in @HighlightParameters annotation.
puppylpg Dec 17, 2023
434de11
Polishing.
sothawo Dec 17, 2023
21a1fbc
Clarified dependencies in the documentation
sothawo Dec 18, 2023
02bd3e6
ClientConfigurer is only available in MaybeSecureClientConfigurationB…
dadoonet Dec 21, 2023
6350514
Update documentation.
sothawo Dec 24, 2023
433d529
Expose search shard statistics in search hits.
puppylpg Dec 28, 2023
b0c97cc
Polishing
sothawo Dec 28, 2023
b78588e
Remove duplicate declaration of identifying type for repository.
junghoon-vans Dec 28, 2023
260dadd
Make org.springframework.data.elasticsearch.client.elc.ReactiveElast…
sothawo Dec 29, 2023
1554c3c
Support multi search template API.
puppylpg Dec 30, 2023
06ede8d
documentation update
sothawo Dec 30, 2023
af1d2dd
fix typo
sothawo Dec 30, 2023
c16024d
Extend license header copyright years to 2024.
mp911de Jan 2, 2024
8f745b1
Upgrade to Elasticsearch 8.11.3.
sothawo Jan 6, 2024
c6041fb
Upgrade to Elasticsearch 8.11.4.
sothawo Jan 19, 2024
e1a2412
Add support for SpEL in `@Query`.
puppylpg Jan 19, 2024
460b4ac
Polishing.
sothawo Jan 19, 2024
957fe05
Remove deprecated code; add arch unit tests.
sothawo Jan 19, 2024
3878540
Update Revved up by Develocity badge.
erichaagdev Jan 23, 2024
1f75016
Refine Artifactory build name.
mp911de Jan 31, 2024
0a1e205
Fix store null values implementation.
sothawo Jan 31, 2024
b391a4e
Unify conversion services for value replacement when querying elastic…
puppylpg Jan 31, 2024
6390aaa
Polishing.
sothawo Jan 31, 2024
9a3f5dc
Update elasticsearch-new.adoc
sothawo Feb 1, 2024
e9ecebd
Fix criteria filter in native query.
sothawo Feb 6, 2024
0f54973
Add support for field aliases in the index mapping.
sothawo Feb 7, 2024
e1730ea
Prepare 5.3 M1 (2024.0.0).
christophstrobl Feb 16, 2024
d16951e
Release version 5.3 M1 (2024.0.0).
christophstrobl Feb 16, 2024
f9d01df
Prepare next development iteration.
christophstrobl Feb 16, 2024
ca85729
After release cleanups.
christophstrobl Feb 16, 2024
96185f9
Upgrade to Elasticsearch 8.12.2.
sothawo Feb 24, 2024
6af099e
Add SpEL support for highlight query and source filter.
puppylpg Feb 26, 2024
c965862
Polishing.
sothawo Feb 26, 2024
7a8a9a1
Wrap the OrCriteria correctly.
youssef3wi Feb 26, 2024
205d74b
Implement the equals and hashCode contracts for Field.
youssef3wi Feb 26, 2024
debf04b
Fix setting setting id in bulkrequest.
sothawo Feb 28, 2024
9472161
Add package-info.java files.
sothawo Mar 5, 2024
f4d2ff7
Prepare 5.3 M2 (2024.0.0).
mp911de Mar 15, 2024
41cab97
Release version 5.3 M2 (2024.0.0).
mp911de Mar 15, 2024
87eb36a
Prepare next development iteration.
mp911de Mar 15, 2024
bd6b6e9
After release cleanups.
mp911de Mar 15, 2024
aa27bbe
Remove unnecessary code.
mawen12 Mar 15, 2024
7f17823
Add environment variable to skip repository initialization.
sothawo Mar 24, 2024
33973ec
Polishing.
sothawo Mar 24, 2024
d2b3ba9
Nullability annotation cleanup.
sothawo Mar 25, 2024
496b8d6
Support Delete by query with es parameters.
youssef3wi Mar 26, 2024
c96423d
Polishing.
sothawo Mar 26, 2024
0a51dba
Correcting a typo in ElasticsearchAotPredicates class.
seungheon123 Mar 30, 2024
6d51e67
Introduce MappingConversionException.
sothawo Mar 31, 2024
0beca99
Update README.adoc
sothawo Apr 2, 2024
1d709f6
Code cleanup.
sothawo Apr 9, 2024
bec3beb
Upgrade to Elasticsearch 8.13.2.
sothawo Apr 11, 2024
b507abe
Prepare 5.3 RC1 (2024.0.0).
mp911de Apr 12, 2024
c79fe30
Release version 5.3 RC1 (2024.0.0).
mp911de Apr 12, 2024
8eecbe6
Prepare next development iteration.
mp911de Apr 12, 2024
e153708
After release cleanups.
mp911de Apr 12, 2024
ad66510
Fix parameter in Order constructor.
sothawo Apr 15, 2024
2d5f8e8
Support has_child and has_parent queries.
youssef3wi Apr 16, 2024
a16782e
Polishing.
sothawo Apr 16, 2024
106b513
Fix retrieving data in Join-Type implementation.
1autodidact Apr 21, 2024
1d89054
fix scripted-and-runtime-fields.adoc
1autodidact Apr 27, 2024
dc5bf5a
Add the filter parts of a CriteriaQuery to the query, not as post-fil…
sothawo May 4, 2024
94a40a7
Fix implementation of explicit refresh policy.
sothawo May 10, 2024
d693c4f
Update README.adoc
sothawo May 12, 2024
baec1f1
Prepare 5.3 GA (2024.0.0).
mp911de May 17, 2024
2b76762
Release version 5.3 GA (2024.0.0).
mp911de May 17, 2024
82c4ea1
Prepare next development iteration.
mp911de May 17, 2024
41e3257
After release cleanups.
mp911de May 17, 2024
e997b39
Fix max dim value for dense vector.
sothawo May 18, 2024
5ebe9f4
Update version document.
sothawo May 18, 2024
86e0e66
Upgrade to Elasticsearch 8.13.4.
sothawo May 19, 2024
fbe54e4
Add support for index aliases.
youssef3wi May 26, 2024
161439a
Polishing
sothawo May 26, 2024
9d13929
Add documentation for migration 5.3 to 5.4
sothawo May 27, 2024
687b014
Add knn search parameter and remove knn query.
puppylpg May 28, 2024
fade919
Polishing.
sothawo May 28, 2024
4ef5af1
Update dependencies.
sothawo Jun 1, 2024
d101eeb
Upgrade to Elasticsearch-8.14.0.
sothawo Jun 11, 2024
d9d1b73
Fix missing element_type when using elasticsearch-java 8.14.x
puppylpg Jun 12, 2024
eca6a7e
Upgrade to Elasticsearch-8.14.1.
sothawo Jun 13, 2024
4cc80ab
Switch to Broadcom docker proxy.
mp911de Jun 20, 2024
8d0ecf2
Update migration-guide-5.2-5.3.adoc
sothawo Jul 4, 2024
dd156b9
Enable use of search_after with field_collapse.
sothawo Jul 6, 2024
95e028a
Dependency updates and cleanup.
sothawo Jul 30, 2024
8f86007
Bundle Javadoc with Antora documentation site.
mp911de Jul 31, 2024
3fc19bb
Migrate build to Spring Develocity Conventions extension.
erichaagdev Aug 1, 2024
eba8eec
Upgrade to Elasticsearch 8.14.3.
sothawo Aug 4, 2024
06de217
Allow to customize the mapped type name for @InnerField and @Field an…
reta Aug 6, 2024
03992ba
Polishing
sothawo Aug 6, 2024
738ee54
Support for SQL.
youssef3wi Aug 6, 2024
dbf932c
Polishing
sothawo Aug 6, 2024
7a7145e
Update CI properties.
mp911de Aug 8, 2024
d079a59
Upgrade to Maven Wrapper 3.9.8.
mp911de Aug 8, 2024
9149c1b
Allow for `null` and `empty` parameters in the MultiField annotation.
youssef3wi Aug 19, 2024
6ad98bf
Polishing
sothawo Aug 19, 2024
81eb167
Upgrade to Elasticsearch 8.15.0.
sothawo Aug 30, 2024
555b570
Add excludeFromSource handling to multifield.
sothawo Aug 31, 2024
b1b232d
Set refresh on DeleteByQueryRequest by DeleteQuery.
tuguri8 Sep 3, 2024
d06c122
Remove Blockhound
sothawo Sep 4, 2024
aab66c9
Prepare 5.4 M1 (2024.1.0).
schauder Sep 13, 2024
b4ab1f2
Release version 5.4 M1 (2024.1.0).
schauder Sep 13, 2024
6cb5f92
Prepare next development iteration.
schauder Sep 13, 2024
d55947b
After release cleanups.
schauder Sep 13, 2024
98716a8
Consistently run all CI steps with the same user.
mp911de Oct 9, 2024
fe8c2b1
Add count methods to ELC's ReactiveElasticsearchClient.
maryantocinn Oct 17, 2024
3157c62
Prepare 5.4 RC1 (2024.1.0).
mp911de Oct 18, 2024
893c9cb
Release version 5.4 RC1 (2024.1.0).
mp911de Oct 18, 2024
378dcab
Prepare next development iteration.
mp911de Oct 18, 2024
172933a
After release cleanups.
mp911de Oct 18, 2024
d2ab03e
Add support for retrieving request executionDuration.
ELHARROUGUI Oct 22, 2024
3e2c67a
Update elasticsearch-new.adoc
sothawo Oct 22, 2024
24618ec
Upgrade dependency to elasticsearch 8.15.3.
sothawo Oct 29, 2024
6117694
Upgrade to Maven Wrapper 3.9.9.
mp911de Nov 7, 2024
7f5bfff
fix geohash conversion
sothawo Nov 8, 2024
f5b29cb
Update CI Properties.
mp911de Nov 15, 2024
bfd3c35
Prepare 5.4 GA (2024.1.0).
mp911de Nov 15, 2024
6f3941b
Release version 5.4 GA (2024.1.0).
mp911de Nov 15, 2024
00f13ac
Prepare next development iteration.
mp911de Nov 15, 2024
4f159d5
After release cleanups.
mp911de Nov 15, 2024
01d2d24
Update versions documentation.
sothawo Nov 24, 2024
028239f
Add optional fetchSource flag to the SourceFilter.
sothawo Nov 28, 2024
5f297f1
Upgrade to Elasticsearch 8.16.1.
sothawo Dec 1, 2024
944e7e8
fix: use scripted field name to populate entity.
llosimura Dec 14, 2024
a94b74c
Upgrade to Elasticsearch 8.17.0. (#3027)
sothawo Dec 15, 2024
0359132
Update copyright comment to 2025.
sothawo Jan 2, 2025
5568c7b
Add IndexQuery.builder() method.
sothawo Jan 11, 2025
cb77b32
Add repository method support for search templates.
sothawo Feb 8, 2025
ea62cf0
Adopt to deprecation removals in Commons.
sothawo Feb 9, 2025
bd87dae
Upgrade to Elasticsearch 8.17.1.
sothawo Feb 11, 2025
7fe4d8e
Update CI Properties.
mp911de Feb 11, 2025
f9f64e6
Upgrade to Elasticsearch 8.17.2.
sothawo Feb 12, 2025
8463448
Prepare 5.5 M1 (2025.0.0).
mp911de Feb 14, 2025
6d0825b
Release version 5.5 M1 (2025.0.0).
mp911de Feb 14, 2025
78ea67b
Prepare next development iteration.
mp911de Feb 14, 2025
15f0863
After release cleanups.
mp911de Feb 14, 2025
64f88ae
Add testcontainers-local.properties handling.
sothawo Feb 19, 2025
8b43af2
optimize capacity & add assert messages in GeoJson.
wjdqhry Feb 21, 2025
fa97924
Remove deprecated methods.
sothawo Feb 23, 2025
89f60f2
Fix typo.
dgray16 Mar 2, 2025
35e7b45
Fix syntax errors in link formatting in adoc files.
rlaope Mar 4, 2025
4238362
Fix mapping of property names in sort parameters.
sothawo Mar 9, 2025
ace17b9
Prepare 5.5 M2 (2025.0.0).
mp911de Mar 14, 2025
1fdee73
Release version 5.5 M2 (2025.0.0).
mp911de Mar 14, 2025
300fe2a
Prepare next development iteration.
mp911de Mar 14, 2025
6f42431
After release cleanups.
mp911de Mar 14, 2025
2366f67
Enable scripted fields and runtime fields of collection type.
sothawo Mar 18, 2025
1ae6301
Fix cutting of unknown properties in property paths for search.
sothawo Mar 24, 2025
95059b3
Upgrade to Elasticsearch 8.17.4.
sothawo Mar 31, 2025
0e5af90
Fix implementation of equlas/hashcode for Criteria class.
sothawo Apr 5, 2025
9ffcb09
Prepare 5.5 RC1 (2025.0.0).
mp911de Apr 22, 2025
2f0a259
Release version 5.5 RC1 (2025.0.0).
mp911de Apr 22, 2025
925921f
Prepare next development iteration.
mp911de Apr 22, 2025
9d025dd
After release cleanups.
mp911de Apr 22, 2025
a07ac3c
Fix code not terminating on repository saving an empty flux.
sothawo Apr 26, 2025
5a0f556
Upgrade Elasticsearch dependencies to 8.18.0
sothawo May 2, 2025
acbfba9
Exclude `commons-logging` dependency.
mp911de May 9, 2025
ea38ef1
Upgrade Elasticsearch libraries to 8.18.1.
sothawo May 9, 2025
945179e
Fix handling of page size and max results in search request preparation.
sothawo May 10, 2025
8c9d9ae
Update CI Properties.
mp911de May 12, 2025
9870de1
Update CI Properties.
mp911de May 12, 2025
22763d1
Update CI Properties.
mp911de May 12, 2025
0ce9a1c
Update CI Properties.
mp911de May 12, 2025
ebbe242
Fix missing return value in ByQueryResponse.
sothawo May 14, 2025
0728c8e
Update versions doc for the next release
sothawo May 15, 2025
cc5f149
Prepare 5.5 GA (2025.0.0).
mp911de May 16, 2025
62a34cf
Release version 5.5 GA (2025.0.0).
mp911de May 16, 2025
08a1ef3
Prepare next development iteration.
mp911de May 16, 2025
df6a127
After release cleanups.
mp911de May 16, 2025
49d5dee
Update versions documentation
sothawo Nov 24, 2024
e298bc9
Adopt to changes in Spring Framework 7.
mp911de Jan 8, 2025
76fe240
Prepare 6.0 M1 (2025.1.0).
christophstrobl Jan 24, 2025
1acd392
Release version 6.0 M1 (2025.1.0).
christophstrobl Jan 24, 2025
710526c
Prepare next development iteration.
christophstrobl Jan 24, 2025
09984f8
After release cleanups.
christophstrobl Jan 24, 2025
3a44250
Cleanup unneeded imports after deprecation removal
sothawo Feb 10, 2025
e9c7c0e
Switch to jspecify nullability annotations.
sothawo Feb 23, 2025
e81810c
Prepare 6.0 M2 (2025.1.0).
mp911de Apr 22, 2025
af13fe0
Release version 6.0 M2 (2025.1.0).
mp911de Apr 22, 2025
eb42312
Prepare next development iteration.
mp911de Apr 22, 2025
2678cdc
After release cleanups.
mp911de Apr 22, 2025
a8557a3
Update CI Properties.
mp911de May 12, 2025
897cb0a
Add optional Querydsl dependency.
mp911de May 12, 2025
06704d9
Prepare 6.0 M3 (2025.1.0).
mp911de May 16, 2025
77ba620
Release version 6.0 M3 (2025.1.0).
mp911de May 16, 2025
62fcbd4
Prepare next development iteration.
mp911de May 16, 2025
923787c
After release cleanups.
mp911de May 16, 2025
6268133
Update versions documentation
sothawo May 24, 2025
158f5fc
es java client major update.
l-trotta May 29, 2025
a9d2aaa
Polishing.
sothawo May 29, 2025
7f53944
Adapt to generics changes in `CoroutineCrudRepository`.
mp911de Jun 12, 2025
f9509f2
Upgrade to Elasticsearch 9.0.2.
sothawo Jun 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 1 addition & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ Make sure that:
-->

- [ ] You have read the [Spring Data contribution guidelines](https://github.com/spring-projects/spring-data-build/blob/master/CONTRIBUTING.adoc).
- [ ] **There is a ticket in the bug tracker for the project in our [issue tracker](https://github.
com/spring-projects/spring-data-elasticsearch/issues)**. Add the issue number to the _Closes #issue-number_ line below
- [ ] **There is a ticket in the bug tracker for the project in our [issue tracker](https://github.com/spring-projects/spring-data-elasticsearch/issues)**. Add the issue number to the _Closes #issue-number_ line below
- [ ] You use the code formatters provided [here](https://github.com/spring-projects/spring-data-build/tree/master/etc/ide) and have them applied to your changes. Don’t submit any formatting related changes.
- [ ] You submit test cases (unit or integration tests) that back your changes.
- [ ] You added yourself as author in the headers of the classes you touched. Amend the date range in the Apache license header if needed. For new types, add the license header (copy from another file and set the current year only).
Expand Down
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,13 @@ target


/zap.env
/localdocker.env
.localdocker-env

build/
node_modules
node
package-lock.json

.mvn/.develocity
/src/test/resources/testcontainers-local.properties
8 changes: 8 additions & 0 deletions .mvn/extensions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<extensions>
<extension>
<groupId>io.spring.develocity.conventions</groupId>
<artifactId>develocity-conventions-maven-extension</artifactId>
<version>0.0.22</version>
</extension>
</extensions>
14 changes: 14 additions & 0 deletions .mvn/jvm.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
--add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.text=ALL-UNNAMED
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED
4 changes: 2 additions & 2 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#Tue Feb 22 13:59:12 CET 2022
#Thu Nov 07 09:47:28 CET 2024
wrapperUrl=https\://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
distributionUrl=https\://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
distributionUrl=https\://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
7 changes: 3 additions & 4 deletions CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
= Spring Data contribution guidelines

You find the contribution guidelines for Spring Data projects https://github.com/spring-projects/spring-data-build/blob/main/CONTRIBUTING.adoc[here].
**Please read these carefully!**

Do not submit a Pull Request before having created an issue and having discussed it. This prevents you from doing work that might be rejected.

== Running the test locally

In order to run the tests locally with `./mvnw test` you need to have docker running because Spring Data Elasticsearch uses https://www.testcontainers.org/[Testcontainers] to start a local running Elasticsearch instance.

== Class names of the test classes

Tset classes that do depend on the client have either `ERHLC` (when using the deprecated Elasticsearch `RestHighLevelClient`) or `ELC` (the new `ElasticsearchClient`) in their name.
81 changes: 27 additions & 54 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
def p = [:]
node {
checkout scm
p = readProperties interpolate: true, file: 'ci/pipeline.properties'
checkout scm
p = readProperties interpolate: true, file: 'ci/pipeline.properties'
}

pipeline {
Expand All @@ -20,8 +20,9 @@ pipeline {
stages {
stage("test: baseline (main)") {
when {
beforeAgent(true)
anyOf {
branch 'main'
branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP")
not { triggeredBy 'UpstreamCause' }
}
}
Expand All @@ -31,17 +32,16 @@ pipeline {
options { timeout(time: 30, unit: 'MINUTES') }

environment {
DOCKER_HUB = credentials("${p['docker.credentials']}")
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
}

steps {
script {
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.docker']) {
sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
sh 'PROFILE=none ci/verify.sh'
sh "ci/clean.sh"
sh "PROFILE=none JENKINS_USER_NAME=${p['jenkins.user.name']} ci/verify.sh"
sh "JENKINS_USER_NAME=${p['jenkins.user.name']} ci/clean.sh"
}
}
}
Expand All @@ -50,8 +50,9 @@ pipeline {

stage("Test other configurations") {
when {
beforeAgent(true)
allOf {
branch 'main'
branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP")
not { triggeredBy 'UpstreamCause' }
}
}
Expand All @@ -61,43 +62,16 @@ pipeline {
label 'data'
}
options { timeout(time: 30, unit: 'MINUTES') }

environment {
DOCKER_HUB = credentials("${p['docker.credentials']}")
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
}

steps {
script {
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) {
sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
sh 'PROFILE=none ci/verify.sh'
sh "ci/clean.sh"
}
}
}
}
}

stage("test: baseline (LTS)") {
agent {
label 'data'
}
options { timeout(time: 30, unit: 'MINUTES') }

environment {
DOCKER_HUB = credentials("${p['docker.credentials']}")
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
}

steps {
script {
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
docker.image(p['docker.java.lts.image']).inside(p['docker.java.inside.docker']) {
sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
sh 'PROFILE=none ci/verify.sh'
sh "ci/clean.sh"
sh "PROFILE=none JENKINS_USER_NAME=${p['jenkins.user.name']} ci/verify.sh"
sh "JENKINS_USER_NAME=${p['jenkins.user.name']} ci/clean.sh"
}
}
}
Expand All @@ -108,32 +82,35 @@ pipeline {

stage('Release to artifactory') {
when {
beforeAgent(true)
anyOf {
branch 'main'
branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP")
not { triggeredBy 'UpstreamCause' }
}
}
agent {
label 'data'
}
options { timeout(time: 20, unit: 'MINUTES') }

environment {
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
}

steps {
script {
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch-non-root ' +
'-Dartifactory.server=https://repo.spring.io ' +
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.docker']) {
sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' +
"./mvnw -s settings.xml -Pci,artifactory " +
"-Ddevelocity.storage.directory=/tmp/jenkins-home/.develocity-root " +
"-Dartifactory.server=${p['artifactory.url']} " +
"-Dartifactory.username=${ARTIFACTORY_USR} " +
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
"-Dartifactory.staging-repository=libs-snapshot-local " +
"-Dartifactory.staging-repository=${p['artifactory.repository.snapshot']} " +
"-Dartifactory.build-name=spring-data-elasticsearch " +
"-Dartifactory.build-number=${BUILD_NUMBER} " +
'-Dmaven.test.skip=true clean deploy -U -B'
"-Dartifactory.build-number=spring-data-elasticsearch-${BRANCH_NAME}-build-${BUILD_NUMBER} " +
"-Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch " +
"-Dmaven.test.skip=true clean deploy -U -B"
}
}
}
Expand All @@ -144,10 +121,6 @@ pipeline {
post {
changed {
script {
slackSend(
color: (currentBuild.currentResult == 'SUCCESS') ? 'good' : 'danger',
channel: '#spring-data-dev',
message: "${currentBuild.fullDisplayName} - `${currentBuild.currentResult}`\n${env.BUILD_URL}")
emailext(
subject: "[${currentBuild.fullDisplayName}] ${currentBuild.currentResult}",
mimeType: 'text/html',
Expand Down
56 changes: 16 additions & 40 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
image:https://spring.io/badges/spring-data-elasticsearch/ga.svg[Spring Data Elasticsearch,link=https://projects.spring.io/spring-data-elasticsearch#quick-start] image:https://spring.io/badges/spring-data-elasticsearch/snapshot.svg[Spring Data Elasticsearch,link=https://projects.spring.io/spring-data-elasticsearch#quick-start]

= Spring Data for Elasticsearch image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-elasticsearch%2Fmain&subject=Build[link=https://jenkins.spring.io/view/SpringData/job/spring-data-elasticsearch/] https://gitter.im/spring-projects/spring-data[image:https://badges.gitter.im/spring-projects/spring-data.svg[Gitter]]
= Spring Data for Elasticsearch image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-elasticsearch%2Fmain&subject=Build[link=https://jenkins.spring.io/view/SpringData/job/spring-data-elasticsearch/] https://gitter.im/spring-projects/spring-data[image:https://badges.gitter.im/spring-projects/spring-data.svg[Gitter]] image:https://img.shields.io/badge/Revved%20up%20by-Develocity-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Develocity", link="https://ge.spring.io/scans?search.rootProjectNames=Spring Data Elasticsearch"]

The primary goal of the https://projects.spring.io/spring-data[Spring Data] project is to make it easier to build Spring-powered applications that use new data access technologies such as non-relational databases, map-reduce frameworks, and cloud based data services.

The Spring Data Elasticsearch project provides integration with the https://www.elastic.co/[Elasticsearch] search engine.
Key functional areas of Spring Data Elasticsearch are a POJO centric model for interacting with a Elasticsearch Documents and easily writing a Repository style data access layer.
Key functional areas of Spring Data Elasticsearch are a POJO centric model for interacting with Elasticsearch Documents and easily writing a Repository style data access layer.

This project is lead and maintained by the community.

== Features

* Spring configuration support using Java based `@Configuration` classes or an XML namespace for a ES clients instances.
* `ElasticsearchRestTemplate` helper class that increases productivity performing common ES operations.
* Spring configuration support using Java based `@Configuration` classes or an XML namespace for an ES client instances.
* `ElasticsearchOperations` class and implementations that increases productivity performing common ES operations.
Includes integrated object mapping between documents and POJOs.
* Feature Rich Object Mapping integrated with Spring’s Conversion Service
* Annotation based mapping metadata
Expand Down Expand Up @@ -64,25 +62,7 @@ public class MyService {

=== Using the RestClient

Provide a configuration like this:

[source,java]
----
@Configuration
public class RestClientConfig extends AbstractElasticsearchConfiguration {

@Override
@Bean
public RestHighLevelClient elasticsearchClient() {

final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
.connectedTo("localhost:9200")
.build();

return RestClients.create(clientConfiguration).rest();
}
}
----
Please check the https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#elasticsearch.clients.configuration[official documentation].

=== Maven configuration

Expand All @@ -97,9 +77,6 @@ Add the Maven dependency:
</dependency>
----

// NOTE: since Github does not support include directives, the content of
// the src/main/asciidoc/reference/preface.adoc file is duplicated here
// Always change both files!
**Compatibility Matrix**

The compatibility between Spring Data Elasticsearch, Elasticsearch client drivers and Spring Boot versions can be found in the https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#preface.versions[reference documentation].
Expand All @@ -115,9 +92,9 @@ To use the Release candidate versions of the upcoming major version, use our Mav
</dependency>

<repository>
<id>spring-libs-snapshot</id>
<id>spring-snapshot</id>
<name>Spring Snapshot Repository</name>
<url>https://repo.spring.io/libs-milestone</url>
<url>https://repo.spring.io/milestone</url>
</repository>
----

Expand All @@ -132,9 +109,9 @@ If you'd rather like the latest snapshots of the upcoming major version, use our
</dependency>

<repository>
<id>spring-libs-snapshot</id>
<id>spring-snapshot</id>
<name>Spring Snapshot Repository</name>
<url>https://repo.spring.io/libs-snapshot</url>
<url>https://repo.spring.io/snapshot</url>
</repository>
----

Expand All @@ -147,9 +124,7 @@ We’d love to help!
https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/[reference documentation], and https://docs.spring.io/spring-data/elasticsearch/docs/current/api/[Javadocs].
* Learn the Spring basics – Spring Data builds on Spring Framework, check the https://spring.io[spring.io] web-site for a wealth of reference documentation.
If you are just starting out with Spring, try one of the https://spring.io/guides[guides].
* If you are upgrading, check out the https://docs.spring.io/spring-data/elasticsearch/docs/current/changelog.txt[changelog] for "`new and noteworthy`" features.
* Ask a question - we monitor https://stackoverflow.com[stackoverflow.com] for questions tagged with https://stackoverflow.com/tags/spring-data[`spring-data-elasticsearch`].
You can also chat with the community on https://gitter.im/spring-projects/spring-data[Gitter].
* Ask a question or chat with the community on https://app.gitter.im/#/room/#spring-projects_spring-data:gitter.im[Gitter].
* Report bugs with Spring Data for Elasticsearch at https://github.com/spring-projects/spring-data-elasticsearch/issues[https://github.com/spring-projects/spring-data-elasticsearch/issues].

== Reporting Issues
Expand All @@ -159,7 +134,7 @@ If you want to raise an issue, please follow the recommendations below:

* Before you log a bug, please search the
https://github.com/spring-projects/spring-data-elasticsearch/issues[issue tracker] to see if someone has already reported the problem.
* If the issue doesnt already exist, https://github.com/spring-projects/spring-data-elasticsearch/issues/new[create a new issue].
* If the issue doesn't already exist, https://github.com/spring-projects/spring-data-elasticsearch/issues/new[create a new issue].
* Please provide as much information as possible with the issue report, we like to know the version of Spring Data Elasticsearch that you are using and JVM version.
* If you need to paste code, or include a stack trace use Markdown +++```+++ escapes before and after your text.
* If possible try to create a test-case or project that replicates the issue.
Expand All @@ -168,7 +143,9 @@ Attach a link to your code or a compressed file containing your code.
== Building from Source

You don’t need to build from source to use Spring Data (binaries in https://repo.spring.io[repo.spring.io]), but if you want to try out the latest and greatest, Spring Data can be easily built with the https://github.com/takari/maven-wrapper[maven wrapper].
You also need JDK 1.8.

You need JDK 17 or above to build the _main_ branch.
For the branches up to and including release 4.4, JDK 8 is required.

[source,bash]
----
Expand All @@ -182,17 +159,16 @@ _Also see link:CONTRIBUTING.adoc[CONTRIBUTING.adoc] if you wish to submit pull r
IMPORTANT: When contributing, please make sure an issue exists in https://github.com/spring-projects/spring-data-elasticsearch/issues[issue tracker] and comment on this issue with how you want to address it.
By this we not only know that someone is working on an issue, we can also align architectural questions and possible solutions before work is invested . We so can prevent that much work is put into Pull Requests that have little or no chances of being merged.


=== Building reference documentation

Building the documentation builds also the project without running tests.

[source,bash]
----
$ ./mvnw clean install -Pdistribute
$ ./mvnw clean install -Pantora
----

The generated documentation is available from `target/site/reference/html/index.html`.
The generated documentation is available from `target/site/index.html`.

== Examples

Expand Down
21 changes: 0 additions & 21 deletions TESTING.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,3 @@ is run. There must be _docker_ running, as the integration tests use docker to s

Integration tests are tests that have the Junit5 Tag `@Tag("integration-test")` on the test class. Normally this should not be set explicitly, but the annotation `@SpringIntegrationTest` should be used. This not only marks the test as integration test, but integrates an automatic setup of an Elasticsearch Testcontainer and integrate this with Spring, so
that the required Beans can be automatically injected. Check _src/test/java/org/springframework/data/elasticsearch/JUnit5SampleRestClientBasedTests.java_ as a reference setup

== Mutation testing

The pom includes a plugin dependency to run mutation tests using [pitest](https://pitest.org/). These tests must be explicitly configured and run, they are not included in the normal build steps. Before pitest can run, a normal `./mvnw test` must be executed. The configuration excludes integration tests, only unit tests are considered.


pitest can be run directly from the commandline
----
./mvnw org.pitest:pitest-maven:mutationCoverage
----
This will output an html report to _target/pit-reports/YYYYMMDDHHMI_.

To speed-up repeated analysis of the same codebase set the withHistory parameter to true.
----
./mvnw -DwithHistory org.pitest:pitest-maven:mutationCoverage
----

The classes to test are defined either in the pom.xml or can be set on the commandline:
----
./mvnw -DwithHistory org.pitest:pitest-maven:mutationCoverage -DtargetClasses="org.springframework.data.elasticsearch.support.*"
----
6 changes: 4 additions & 2 deletions ci/clean.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,7 @@

set -euo pipefail

MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" \
./mvnw -s settings.xml clean -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch
export JENKINS_USER=${JENKINS_USER_NAME}

MAVEN_OPTS="-Duser.name=${JENKINS_USER} -Duser.home=/tmp/jenkins-home" \
./mvnw -s settings.xml clean -Dscan=false -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch -Ddevelocity.storage.directory=/tmp/jenkins-home/.develocity-root
Loading