Skip to content
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

Resolves #2993: AnalyzerChooser no longer takes the text when choosing an analyzer #2994

Draft
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

ScottDugas
Copy link
Contributor

This moves it so that the DirectoryManager creates one LuceneAnalyzerWrapper, and preserves it for the transaction.
It also means that FDBDirectoryWrapper has a single writer that won't change, making it lazy, but final.

The only implementation that actually referenced the text was in
tests.
This gets us on a path to an index having a fixed analyzer (at least
for the duration of the transaction), which can simplify the
FDBDirectoryWrapper.
The premise for adding AnalyzerChooser was to use a different
analyzer depending on the text to better support different languages,
but this seems problematic, because you won't know when searching what
analyzer was used. i.e. if you have a document that is mixed,
and then search only for one language, it will be confused.
Instead a more complicated analyzer should be used to support this,
if needed.
Since there is no longer a text parameter, it can generater the
wrappers once. This may result in some wasted CPU generating unused
analyzers (e.g. when not querying or not writing), but it should be
compensated by the fact that it consistently creates 2 wrappers,
rather than creating a wrapper for every record update, or every
query.
Only initialize this once, and reuse. Part of the process of making
FDBDirectoryWrapper not have to worry about changing analyzers
@foundationdb-ci
Copy link
Contributor

Result of fdb-record-layer-pr on Linux CentOS 7

  • Commit ID: bba6ca8
  • Duration 0:37:36
  • Result: ❌ FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

@foundationdb-ci
Copy link
Contributor

Result of fdb-record-layer-pr on Linux CentOS 7

  • Commit ID: 6c2ba38
  • Duration 0:37:35
  • Result: ❌ FAILED
  • Error: Error while executing command: ./gradlew --no-daemon --console=plain -b ./build.gradle build destructiveTest -PcoreNotStrict -PreleaseBuild=false -PpublishBuild=false -PspotbugsEnableHtmlReport. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants