~data-platform/opensearch-project-components/+git/opensearch-neural-search:lp-2.13.0

Last commit made on 2024-05-07
Get this branch:
git clone -b lp-2.13.0 https://git.launchpad.net/~data-platform/opensearch-project-components/+git/opensearch-neural-search
Members of Canonical Data Platform can upload to this branch. Log in for directions.

Branch merges

Recent commits

a9443db... by Pedro GuimarĂ£es

changed gradle distro url

5279580... by Varun Jain <email address hidden>

 Add release notes for 2.13.0 release (#649)

Signed-off-by: Varun Jain <email address hidden>

c27f712... by "opensearch-trigger-bot[bot]" <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>

[Backport 2.x] feat: implement text chunking processor with fixed token length and delimiter algorithm (#644)

* feat: implement text chunking processor with fixed token length and delimiter algorithm (#607)

* implement chunking processor and fixed token length

Signed-off-by: yuye-aws <email address hidden>

* initialize node client for document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* initialize document chunking processor with analysis registry

Signed-off-by: yuye-aws <email address hidden>

* chunker factory create with analysis registry

Signed-off-by: yuye-aws <email address hidden>

* implement tokenizer in fixed token length algorithm with analysis registry

Signed-off-by: yuye-aws <email address hidden>

* add max token count parsing logic

Signed-off-by: yuye-aws <email address hidden>

* bug fix for non-existing index

Signed-off-by: yuye-aws <email address hidden>

* change error log

Signed-off-by: yuye-aws <email address hidden>

* implement evenly chunk

Signed-off-by: yuye-aws <email address hidden>

* unit tests for chunker factory

Signed-off-by: yuye-aws <email address hidden>

* unit tests for chunker factory

Signed-off-by: yuye-aws <email address hidden>

* add error message for chunker factory tests

Signed-off-by: yuye-aws <email address hidden>

* resolve comments

Signed-off-by: yuye-aws <email address hidden>

* Revert "implement evenly chunk"

This reverts commit 93dd2f454cdb89fd0c4bc53142b2c06f94a93202.

Signed-off-by: yuye-aws <email address hidden>

* add default value logic back

Signed-off-by: yuye-aws <email address hidden>

* implement unit test for fixed token length chunker

Signed-off-by: yuye-aws <email address hidden>

* add test cases in unit test for fixed token length chunker

Signed-off-by: yuye-aws <email address hidden>

* support map type as an input

Signed-off-by: yuye-aws <email address hidden>

* support map type as an input

Signed-off-by: yuye-aws <email address hidden>

* bug fix for map type

Signed-off-by: yuye-aws <email address hidden>

* bug fix for map type

Signed-off-by: yuye-aws <email address hidden>

* bug fix for map type in document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* remove system out println

Signed-off-by: yuye-aws <email address hidden>

* add delimiter chunker

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* add UT for delimiter chunker

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* add delimiter chunker processor

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* add more UTs

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* add more UTs

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* basic unit tests for document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* fix tests for getProcessors in neural search

Signed-off-by: yuye-aws <email address hidden>

* add unit tests with string, map and nested map type for document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* add unit tests for parameter valdiation in document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* add back deleted xml file

Signed-off-by: yuye-aws <email address hidden>

* restore xml file

Signed-off-by: yuye-aws <email address hidden>

* integration tests for document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* add back Run_Neural_Search.xml

Signed-off-by: yuye-aws <email address hidden>

* restore Run_Neural_Search.xml

Signed-off-by: yuye-aws <email address hidden>

* add changelog

Signed-off-by: yuye-aws <email address hidden>

* update integration test for cascade processor

Signed-off-by: yuye-aws <email address hidden>

* add max chunk limit

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* remove useless and apply spotless

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* update error message

Signed-off-by: yuye-aws <email address hidden>

* change field UT

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* remove useless and apply spotless

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* change logic of max chunk number

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* add max chunk limit into fixed token length algorithm

Signed-off-by: yuye-aws <email address hidden>

* Support list<list<string>> type in embedding and extract validation logic to common class

Signed-off-by: zane-neo <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* fix unit tests for inference processor

Signed-off-by: yuye-aws <email address hidden>

* implement unit tests for unit tests with max_chunk_limit in fixed token length

Signed-off-by: yuye-aws <email address hidden>

* constructor for inference processor

Signed-off-by: yuye-aws <email address hidden>

* use inference processor

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* draft code for extending inference processor with document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* api refactor for document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* remove nested list key for chunking processor

Signed-off-by: yuye-aws <email address hidden>

* remove unused function

Signed-off-by: yuye-aws <email address hidden>

* remove processor validator

Signed-off-by: yuye-aws <email address hidden>

* remove processor validator

Signed-off-by: yuye-aws <email address hidden>

* Revert InferenceProcessor.java

Signed-off-by: Yuye Zhu <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* revert changes in text embedding and sparse encoding processor

Signed-off-by: yuye-aws <email address hidden>

* implement chunk with map in document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* add default delimiter value

Signed-off-by: Lu <xinyual@88665a36eec8.ant.amazon.com>
Signed-off-by: yuye-aws <email address hidden>

* implement max chunk logic in document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* add initial value for max chunk limit in document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* bug fix in chunking processor: allow 0 max_chunk_limit

Signed-off-by: yuye-aws <email address hidden>

* implement overlap rate with big decimal

Signed-off-by: yuye-aws <email address hidden>

* update max chunk limit in delimiter

Signed-off-by: yuye-aws <email address hidden>

* update parameter setting for fixed token length algorithm

Signed-off-by: yuye-aws <email address hidden>

* update max chunk limit implementation in chunking processor

Signed-off-by: yuye-aws <email address hidden>

* fix unit tests for fixed token length algorithm

Signed-off-by: yuye-aws <email address hidden>

* spotless apply for document chunking processor

Signed-off-by: yuye-aws <email address hidden>

* initialize current chunk count

Signed-off-by: yuye-aws <email address hidden>

* parameter validation for max chunk limit

Signed-off-by: yuye-aws <email address hidden>

* fix integration tests

Signed-off-by: yuye-aws <email address hidden>

* fix current UT

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* change delimiter UT

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* remove delimiter useless code

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* add more UT

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* add UT for list inside map

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* add UT for list inside map

Signed-off-by: xinyual <email address hidden>
Signed-off-by: yuye-aws <email address hidden>

* update unit tests for chunking processor

Signed-off-by: yuye-aws <email address hidden>

* add more unit tests for chunking processor

Signed-off-by: yuye-aws <email address hidden>

* resolve code review comments

Signed-off-by: yuye-aws <email address hidden>

* add java doc

Signed-off-by: yuye-aws <email address hidden>

* update java doc

Signed-off-by: yuye-aws <email address hidden>

* update java doc

Signed-off-by: yuye-aws <email address hidden>

* fix import order

Signed-off-by: yuye-aws <email address hidden>

* update java doc

Signed-off-by: yuye-aws <email address hidden>

* fix java doc error

Signed-off-by: yuye-aws <email address hidden>

* fix update ut for fixed token length chunker

Signed-off-by: yuye-aws <email address hidden>

* resolve code review comments

Signed-off-by: yuye-aws <email address hidden>

* resolve code review comments

Signed-off-by: yuye-aws <email address hidden>

* resolve code review comments

Signed-off-by: yuye-aws <email address hidden>

* resolve code review comments

Signed-off-by: yuye-aws <email address hidden>

* implement chunk count wrapper for max chunk limit

Signed-off-by: yuye-aws <email address hidden>

* rename variable end to nextDelimiterPosition

Signed-off-by: yuye-aws <email address hidden>

* adjust method place

Signed-off-by: yuye-aws <email address hidden>

* update java doc for fixed token length algorithm

Signed-off-by: yuye-aws <email address hidden>

* reanme interface name and fixed token length algorithm name

Signed-off-by: yuye-aws <email address hidden>

* update fixed token length algorithm configuration for integration tests

Signed-off-by: yuye-aws <email address hidden>

* make delimiter member variables static

Signed-off-by: yuye-aws <email address hidden>

* remove redundant set field value in execute method

Signed-off-by: yuye-aws <email address hidden>

* resolve code review comments

Signed-off-by: yuye-aws <email address hidden>

* add integration tests with more tokenizers

Signed-off-by: yuye-aws <email address hidden>

* bug fix: unit test failure due to invalid tokenizer

Signed-off-by: yuye-aws <email address hidden>

* bug fix: token concatenation in fixed token length algorithm

Signed-off-by: yuye-aws <email address hidden>

* update chunker interface

Signed-off-by: yuye-aws <email address hidden>

* track chunkCount within function

Signed-off-by: yuye-aws <email address hidden>

* bug fix: allow white space as the delimiter

Signed-off-by: yuye-aws <email address hidden>

* fix fixed length chunker

Signed-off-by: xinyual <email address hidden>

* fix delimiter chunker

Signed-off-by: xinyual <email address hidden>

* fix chunker factory

Signed-off-by: xinyual <email address hidden>

* fix UTs

Signed-off-by: xinyual <email address hidden>

* fix UT and chunker factory

Signed-off-by: xinyual <email address hidden>

* move analysis_registry to non-runtime parameters

Signed-off-by: xinyual <email address hidden>

* fix Uts

Signed-off-by: xinyual <email address hidden>

* avoid java doc change

Signed-off-by: xinyual <email address hidden>

* move validate to commonUtlis

Signed-off-by: xinyual <email address hidden>

* remove useless function

Signed-off-by: xinyual <email address hidden>

* change java doc

Signed-off-by: xinyual <email address hidden>

* fix Document process ut

Signed-off-by: xinyual <email address hidden>

* fixed token length: re-implement with start and end offset

Signed-off-by: yuye-aws <email address hidden>

* update exception message

Signed-off-by: yuye-aws <email address hidden>

* fix document chunking processor IT

Signed-off-by: yuye-aws <email address hidden>

* bug fix: adjust start, end content position in fixed token length algorithm

Signed-off-by: yuye-aws <email address hidden>

* update changelog for 2.x release

Signed-off-by: yuye-aws <email address hidden>

* rename processor

Signed-off-by: yuye-aws <email address hidden>

* update default delimiter to be \n\n

Signed-off-by: yuye-aws <email address hidden>

* remove change log in 3.0 unreleased

Signed-off-by: yuye-aws <email address hidden>

* fix IT failure due to chunking processor rename

Signed-off-by: yuye-aws <email address hidden>

* update javadoc for text chunking processor factory

Signed-off-by: yuye-aws <email address hidden>

* adjust functions in chunker interface

Signed-off-by: yuye-aws <email address hidden>

* move algorithm name definition to concrete chunker class

Signed-off-by: yuye-aws <email address hidden>

* update string formatted message for text chunking processor

Signed-off-by: yuye-aws <email address hidden>

* update string formatted message for chunker factory

Signed-off-by: yuye-aws <email address hidden>

* update string formatted message for chunker parameter validator

Signed-off-by: yuye-aws <email address hidden>

* update java doc for delimiter algorithm

Signed-off-by: yuye-aws <email address hidden>

* support range double in chunker parameter validator

Signed-off-by: yuye-aws <email address hidden>

* update string formatted message for fixed token length algorithm

Signed-off-by: yuye-aws <email address hidden>

* update sneaky throw with text chunking processor it

Signed-off-by: yuye-aws <email address hidden>

* add word tokenizer restriction for fixed token length algorithm

Signed-off-by: yuye-aws <email address hidden>

* update error message for multiple algorithms in text chunking processor

Signed-off-by: yuye-aws <email address hidden>

* add comment in text chunking processor

Signed-off-by: yuye-aws <email address hidden>

* validate max chunk limit with util parameter class

Signed-off-by: yuye-aws <email address hidden>

* update comments

Signed-off-by: yuye-aws <email address hidden>

* update comments

Signed-off-by: yuye-aws <email address hidden>

* update java doc

Signed-off-by: yuye-aws <email address hidden>

* update java doc

Signed-off-by: yuye-aws <email address hidden>

* make parameter final

Signed-off-by: yuye-aws <email address hidden>

* implement a map from chunker name to constuctor function in chunker factory

Signed-off-by: yuye-aws <email address hidden>

* bug fix in chunker factory

Signed-off-by: yuye-aws <email address hidden>

* remove get all chunkers in chunker factory

Signed-off-by: yuye-aws <email address hidden>

* remove type check for parameter check for max token count

Signed-off-by: yuye-aws <email address hidden>

* remove type check for parameter check for analysis registry

Signed-off-by: yuye-aws <email address hidden>

* implement parser and validator

Signed-off-by: yuye-aws <email address hidden>

* update comment

Signed-off-by: yuye-aws <email address hidden>

* provide fixed token length as the default algorithm

Signed-off-by: yuye-aws <email address hidden>

* adjust exception message

Signed-off-by: yuye-aws <email address hidden>

* adjust exception message

Signed-off-by: yuye-aws <email address hidden>

* use object nonnull and require nonnull

Signed-off-by: yuye-aws <email address hidden>

* apply final to ingest document and chunk count

Signed-off-by: yuye-aws <email address hidden>

* merge parameter validator into the parser

Signed-off-by: yuye-aws <email address hidden>

* assign positive default value for max chunk limit

Signed-off-by: yuye-aws <email address hidden>

* validate supported chunker algorithm in text chunking processor

Signed-off-by: yuye-aws <email address hidden>

* update parameter setting of max chunk limit

Signed-off-by: yuye-aws <email address hidden>

* add unit test with non list of string

Signed-off-by: yuye-aws <email address hidden>

* add unit test with null input

Signed-off-by: yuye-aws <email address hidden>

* add unit test for tokenization excpetion in fixed token length algorithm

Signed-off-by: yuye-aws <email address hidden>

* tune method name in text chunking processor unit test

Signed-off-by: yuye-aws <email address hidden>

* tune method name in delimiter algorithm unit test

Signed-off-by: yuye-aws <email address hidden>

* add unit test for overlap rate too small in fixed token length algorithm

Signed-off-by: yuye-aws <email address hidden>

* tune method modifier for all classes

Signed-off-by: yuye-aws <email address hidden>

* tune code

Signed-off-by: yuye-aws <email address hidden>

* tune code

Signed-off-by: yuye-aws <email address hidden>

* tune exception type in parameter parser

Signed-off-by: yuye-aws <email address hidden>

* tune comment

Signed-off-by: yuye-aws <email address hidden>

* tune comment

Signed-off-by: yuye-aws <email address hidden>

* include max chunk limit in both algorithms

Signed-off-by: yuye-aws <email address hidden>

* tune comment

Signed-off-by: yuye-aws <email address hidden>

* allow 0 for max chunk limit

Signed-off-by: yuye-aws <email address hidden>

* update runtime max chunk limit in text chunking processor

Signed-off-by: yuye-aws <email address hidden>

* tune code for chunker

Signed-off-by: yuye-aws <email address hidden>

* implement test for multiple field max chunk limit exceed

Signed-off-by: yuye-aws <email address hidden>

* tune methods name in text chunking proceesor unit tests

Signed-off-by: yuye-aws <email address hidden>

* add unit tests for both algorithms with max chunk limit

Signed-off-by: yuye-aws <email address hidden>

* optimize code

Signed-off-by: yuye-aws <email address hidden>

* extract max chunk limit check to util class

Signed-off-by: yuye-aws <email address hidden>

* resolve code review comments

Signed-off-by: yuye-aws <email address hidden>

* fix unit tests

Signed-off-by: yuye-aws <email address hidden>

* bug fix: only update runtime max chunk limit when enabled

Signed-off-by: yuye-aws <email address hidden>

---------

Signed-off-by: yuye-aws <email address hidden>
Signed-off-by: xinyual <email address hidden>
Signed-off-by: zane-neo <email address hidden>
Signed-off-by: Yuye Zhu <email address hidden>
Signed-off-by: Lu <xinyual@88665a36eec8.ant.amazon.com>
Co-authored-by: xinyual <email address hidden>
Co-authored-by: zane-neo <email address hidden>
Co-authored-by: Lu <xinyual@88665a36eec8.ant.amazon.com>
(cherry picked from commit eea53aa1ad68f237d1cc65ceed285a993387cce0)

* bug fix: fix compile error in integration test (#645)

Signed-off-by: yuye-aws <email address hidden>

---------

Signed-off-by: yuye-aws <email address hidden>
Co-authored-by: Yuye Zhu <email address hidden>

7e57f65... by zhichao-aws <email address hidden>

[Backport 2.x] Support default model id in neural_sparse query (#637)

* [FEATURE] support default model id in neural_sparse query (#614)

* feature: implement default model id for neural sparse

Signed-off-by: zhichao-aws <email address hidden>

* feature: implement default model id for neural sparse

Signed-off-by: zhichao-aws <email address hidden>

* add ut

Signed-off-by: zhichao-aws <email address hidden>

* add ut it

Signed-off-by: zhichao-aws <email address hidden>

* add changelog

Signed-off-by: zhichao-aws <email address hidden>

* nit

Signed-off-by: zhichao-aws <email address hidden>

* fix ingest pipeline in it

Signed-off-by: zhichao-aws <email address hidden>

* add it for bwc restart-upgrade

Signed-off-by: zhichao-aws <email address hidden>

* add it for bwc restart-upgrade

Signed-off-by: zhichao-aws <email address hidden>

* add it for bwc restart-upgrade

Signed-off-by: zhichao-aws <email address hidden>

* add it for bwc restart-upgrade

Signed-off-by: zhichao-aws <email address hidden>

* fix undeploy with retry

Signed-off-by: zhichao-aws <email address hidden>

* add it for bwc restart-upgrade

Signed-off-by: zhichao-aws <email address hidden>

* add it for bwc restart-upgrade

Signed-off-by: zhichao-aws <email address hidden>

* optimize it code structure

Signed-off-by: zhichao-aws <email address hidden>

* add it for bwc rolling-upgrade

Signed-off-by: zhichao-aws <email address hidden>

* tidy

Signed-off-by: zhichao-aws <email address hidden>

* update index mapping in it

Signed-off-by: zhichao-aws <email address hidden>

* nit

Signed-off-by: zhichao-aws <email address hidden>

* move version check to build script

Signed-off-by: zhichao-aws <email address hidden>

* resolve modelId

Signed-off-by: zhichao-aws <email address hidden>

* nit

Signed-off-by: zhichao-aws <email address hidden>

* update init model id

Signed-off-by: zhichao-aws <email address hidden>

* modify versions check logic in bwc test

Signed-off-by: zhichao-aws <email address hidden>

* add comments

Signed-off-by: zhichao-aws <email address hidden>

* nit

Signed-off-by: zhichao-aws <email address hidden>

* updates for comments

Signed-off-by: zhichao-aws <email address hidden>

---------

Signed-off-by: zhichao-aws <email address hidden>
(cherry picked from commit e41fba7aa82401bd9dce5dec4e08ea7191512fa9)

* resolve conflicts

Signed-off-by: zhichao-aws <email address hidden>

* spotless Apply

Signed-off-by: zhichao-aws <email address hidden>

* add dependency

Signed-off-by: zhichao-aws <email address hidden>

* update build.gradle

Signed-off-by: zhichao-aws <email address hidden>

---------

Signed-off-by: zhichao-aws <email address hidden>

4c1d3a3... by "opensearch-trigger-bot[bot]" <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>

Add knn field space type to fix unit tests (#639) (#643)

Signed-off-by: Martin Gaievski <email address hidden>
(cherry picked from commit 28f10195cbc3f62350f3133cdcde1c02f7c76d80)

Co-authored-by: Martin Gaievski <email address hidden>

78fa7e4... by "opensearch-trigger-bot[bot]" <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>

Support for post filter in hybrid query (#633) (#636)

* Post Filter for hybrid query

Signed-off-by: Varun Jain <email address hidden>

* Add changelog

Signed-off-by: Varun Jain <email address hidden>

* Addressing martin comments

Signed-off-by: Varun Jain <email address hidden>

* Addressing martin comments

Signed-off-by: Varun Jain <email address hidden>

* Addressing navneet comments

Signed-off-by: Varun Jain <email address hidden>

* Addressing navneet comments

Signed-off-by: Varun Jain <email address hidden>

* Addressing navneet comments

Signed-off-by: Varun Jain <email address hidden>

* Adding Coverage

Signed-off-by: Varun Jain <email address hidden>

---------

Signed-off-by: Varun Jain <email address hidden>
(cherry picked from commit d2d4cc68422e37d65285579d5579517531aec813)

Co-authored-by: Varun Jain <email address hidden>

8d71148... by "opensearch-trigger-bot[bot]" <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>

Fix Failing build due to slf4j from k-NN (#634) (#635)

Signed-off-by: Naveen Tatikonda <email address hidden>
(cherry picked from commit 759a971404c31dd302527b0c3f00ce347a12c48c)

Co-authored-by: Naveen Tatikonda <email address hidden>

4043f9f... by Martin Gaievski <email address hidden>

Adding aggregations in hybrid query (#630) (#631)

* Adding aggregations in hybrid query

Signed-off-by: Martin Gaievski <email address hidden>
(cherry picked from commit f04c058fc5ab193342c583cf820cd6cb72be42ea)

6a68b94... by Martin Gaievski <email address hidden>

Fix runtime exceptions in hybrid query for case when sub-query scorer return TwoPhase iterator that is incompatible with DISI iterator (#624) (#628)

* Adding two phase iterator

Signed-off-by: Martin Gaievski <email address hidden>
(cherry picked from commit c9cdcc148cd176becfc1456c9f27ab90aa4bfcf5)

d54fdce... by "opensearch-trigger-bot[bot]" <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com>

Handle case with nested list of objects (#477) (#623)

* Handle case with nested list of objects

Signed-off-by: Gopala-Krishna.Char <email address hidden>

* fix validateEmbeddingsFieldValues Method

Signed-off-by: Gopala-Krishna.Char <email address hidden>

* spotless formatting

Signed-off-by: Gopala-Krishna.Char <email address hidden>

* Onboard jenkins prod docker images on github actions (#483)

Signed-off-by: Peter Zhu <email address hidden>
Signed-off-by: Gopala-Krishna.Char <email address hidden>

* Update dependency org.json:json to v20231013 (#481)

Co-authored-by: mend-for-github-com[bot] <50673670+mend-for-github-com[bot]@users.noreply.github.com>
Signed-off-by: Gopala-Krishna.Char <email address hidden>

* [Backport main manually][bug fix] Fix async actions are left in neural_sparse query (#438) (#479)

* [bug fix] Fix async actions are left in neural_sparse query (#438)

* add serialization and deserialization

Signed-off-by: zhichao-aws <email address hidden>

* hash, equals. + UT

Signed-off-by: zhichao-aws <email address hidden>

* tidy

Signed-off-by: zhichao-aws <email address hidden>

* add test

Signed-off-by: zhichao-aws <email address hidden>

---------

Signed-off-by: zhichao-aws <email address hidden>
(cherry picked from commit 51e6c00770d27fb4eabc20c38bdeff23c5c45997)

* rm max_token_score

Signed-off-by: zhichao-aws <email address hidden>

* add changelog

Signed-off-by: zhichao-aws <email address hidden>

* tidy

Signed-off-by: zhichao-aws <email address hidden>

---------

Signed-off-by: zhichao-aws <email address hidden>
Signed-off-by: Gopala-Krishna.Char <email address hidden>

* Fixed exception for case when Hybrid query being wrapped into bool query (#490)

* Adding null check for case when hybrid query wrapped into bool query

Signed-off-by: Martin Gaievski <email address hidden>
Signed-off-by: Gopala-Krishna.Char <email address hidden>

* Fixed Hybrid query for cases when it's wrapped into other compound queries (#498)

* Fixed nested field case

Signed-off-by: Martin Gaievski <email address hidden>
Signed-off-by: Gopala-Krishna.Char <email address hidden>

* Added the github action to copy the attached issues label to PR. (#504)

Signed-off-by: Navneet Verma <email address hidden>
Signed-off-by: Gopala-Krishna.Char <email address hidden>

* Added support for jdk-21 (#500)

* Added support for jdk-21

Signed-off-by: Martin Gaievski <email address hidden>
Signed-off-by: Gopala-Krishna.Char <email address hidden>

* Add unit tests + small fixes

Signed-off-by: krishy91 <email address hidden>

* fix indentation

Signed-off-by: krishy91 <email address hidden>

* remove unused code + add 2nd level nesting test

Signed-off-by: krishy91 <email address hidden>

* add integration test for list of nested objects

Signed-off-by: krishy91 <email address hidden>

---------

Signed-off-by: Gopala-Krishna.Char <email address hidden>
Signed-off-by: Peter Zhu <email address hidden>
Signed-off-by: zhichao-aws <email address hidden>
Signed-off-by: Martin Gaievski <email address hidden>
Signed-off-by: Navneet Verma <email address hidden>
Signed-off-by: krishy91 <email address hidden>
Co-authored-by: Gopala-Krishna.Char <email address hidden>
Co-authored-by: Peter Zhu <email address hidden>
Co-authored-by: mend-for-github-com[bot] <50673670+mend-for-github-com[bot]@users.noreply.github.com>
Co-authored-by: zhichao-aws <email address hidden>
Co-authored-by: Martin Gaievski <email address hidden>
Co-authored-by: Navneet Verma <email address hidden>
(cherry picked from commit ea49d3c5006efff9dfa36e69791ae9a8e468d25a)

Co-authored-by: Gopala-Krishna Char <email address hidden>