Skip to content

Version 1.5.0

Latest

Choose a tag to compare

@JuicyDragon JuicyDragon released this 22 Oct 18:13

Term Explorer — Nuix Neo (100.x) Compatibility Update

This release updates Term Explorer to run on modern Nuix Neo (Nuix Workstation 100.x). The
previous release was built against Nuix 9.x and fails to load or run on 100.x due to engine
library and query-syntax changes. If you are on Nuix 9.x, continue using the prior release.

Tested against: Nuix Workstation 100.x. Built for Java 11.

Highlights

  • Loads and runs on Nuix Neo (100.x) — resolves the startup "unexpected error."
  • Fuzzy term expansion reworked for the current Nuix/Lucene query engine.
  • Corrected JaroWinkler similarity scoring.
  • Bundled dependency so the script is self-contained (no manual library copying).

Why this was needed

Term Explorer depends on SuperUtilities, which previously resolved fuzzy terms using classes from
Lucene's lucene-suggest module. Nuix Neo no longer ships lucene-suggest, so the old build
failed at startup with a generic "unexpected error" (NoClassDefFoundError). Fixing that surfaced
several further differences between Nuix 9.x and Nuix Neo, addressed below.

Changes

Dependency / startup

  • Updated to a SuperUtilities build that no longer uses Lucene's lucene-suggest classes.
  • Fuzzy similarity now uses Apache Commons Text (JaroWinklerSimilarity). Because Nuix does not
    ship Commons Text, commons-text is now bundled with the script and loaded at startup, so no
    manual JAR copying into the Nuix lib directory is required.

Fuzzy searching (behavior change)

  • Fuzzy syntax now follows the current Nuix/Lucene convention. Nuix Neo expresses fuzzy matching
    as an integer edit distance of 0–2 (cat~2), where lower is more similar. The older fractional
    similarity form (cat~0.7) is no longer accepted by the Nuix query parser.
  • Term Explorer accepts either form in the input box and converts as needed:
    • Similarity 0.0–1.0 (e.g. cat~0.7) — higher is more similar.
    • Edit distance 0, 1, or 2 (e.g. cat~2) — lower is more similar.
    • A bare cat~ defaults to 0.5 similarity.
  • Values outside the valid range are clamped to the nearest valid value, matching how Nuix's own
    search bar behaves (e.g. cat~3 is treated as the maximum edit distance).
  • Fuzzy Type options are now Nuix and JaroWinkler. The previous LuceneLevenshstein and
    NGram options have been removed — they relied on the lucene-suggest classes that Nuix Neo no
    longer provides.
    • Nuix — resolves the fuzzy expression using Nuix's own search engine. On Nuix Neo this path is
      limited to edit distance 0–1; a requested edit distance of 2 is run as 1. For looser matching,
      use the JaroWinkler type.
    • JaroWinkler — resolves the fuzzy expression against the case term list using Jaro-Winkler
      similarity, with no edit-distance limit.

Fixes

  • Corrected JaroWinkler similarity scoring. Similarity was previously inverted (identical terms
    scored ~0, unrelated terms scored ~1), which caused fuzzy searches to return the wrong terms or
    nothing at all. Scores are now true similarities (1.0 = identical).
  • Fixed a dropdown fall-through that caused the selected fuzzy type to be applied incorrectly.
  • Query construction now safely quotes matched terms, so terms containing characters significant to
    the query parser (e.g. apostrophes) no longer cause "invalid query" errors during scope counting.
  • Updated the Single Term Expression(s) tooltip to document both fuzzy input forms.