Allow Lucene Programatic Boolean Queries to be serialized through Builders specification#371
Open
rafaharo wants to merge 11 commits into
Open
Allow Lucene Programatic Boolean Queries to be serialized through Builders specification#371rafaharo wants to merge 11 commits into
rafaharo wants to merge 11 commits into
Conversation
added 11 commits
November 9, 2021 10:20
…partitions configuration
…partitions configuration
…mplementation to enable serialization of boolean queries
…ng boolean queries
# Conflicts: # build.sbt # src/main/scala/org/zouzias/spark/lucenerdd/LuceneRDDKryoRegistrator.scala # src/main/scala/org/zouzias/spark/lucenerdd/spatial/shape/ShapeLuceneRDDKryoRegistrator.scala # src/test/scala/org/zouzias/spark/lucenerdd/LuceneDocToSparkRowpec.scala # src/test/scala/org/zouzias/spark/lucenerdd/LuceneRDDMoreLikeThisSpec.scala # src/test/scala/org/zouzias/spark/lucenerdd/LuceneRDDRecordLinkageSpec.scala # src/test/scala/org/zouzias/spark/lucenerdd/spatial/shape/ShapeLuceneRDDSpec.scala # version.sbt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The intention of this PR is to provide a workaround to the fact that Lucene queries are not serializabled. Due to this limitation, the linkByQuery function needs to serialize the original Lucene Query object using a String that represents the query in Lucene Query Syntax
When the original query is a complex Boolean Query, specially using multi-terms keywords in some of the clauses, the Lucene Query Parser is not able to reconstruct the same original query that you would be able to build programatically.
The workaround is based on serializable query builders that are used to compose the query in the same that you would do it with original Lucene query builders. The final query is only built when needed for searching, so the query is safely serialized within the builders