PackageTrack
Sign in Get early access

teamtnt/tntsearch

A fully featured full text search engine written in PHP

v5.3.0 3.3M downloads/mo #3160 most downloaded on Packagist teamtnt/tntsearch

What this package is like to depend on

Last release 12 days ago

11 Aug 2026

Ships fairly regularly

a new release about every 4 months

Rarely documented

notes for 4 of 72 stable releases

Nothing withdrawn

no release was ever pulled

10 years old

72 releases · first in 2016

4 releases in the last 12 months

see the full history below

Release timeline

72 releases · Apr 2016 to Aug 2026
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 72
  1. v5.3.0 11 Aug 2026
    Release notes

    Faster indexing and a couple of correctness fixes.

    Performance

    • SQLite index creation is ~3× faster. saveWordlist() no longer inserts each term and catches a UNIQUE-constraint exception (re-preparing every statement per duplicate term); it uses a single INSERT … ON CONFLICT(term) DO UPDATE upsert and resolves term ids without SELECT MAX(id).
    • insert() is ~25× faster for large documents. Each document is now indexed inside a single transaction instead of one implicit commit (fsync) per wordlist/doclist write — so indexing e.g. a PDF per insert() call no longer pays thousands of fsyncs. (#360)

    Fixed

    • total_documents was left at 0 when the number of indexed rows was an exact multiple of the 10,000-row commit batch, because the final transaction was left open and the info-table update rolled back. This corrupted BM25 idf = log(count / df) for such indexes.
    • MysqlEngine wordlist upsert accumulated num_hits using the document count instead of the hit count, giving multi-document terms the wrong total occurrence count.

    Added

    • A benchmark/ harness (seeded Zipfian dataset generator + timers) for measuring index-creation speed.

    Full Changelog: v5.2.0...v5.3.0

    Open source →
  2. v5.2.0 11 Aug 2026
    Release notes

    Added

    • SqliteEngine::createIndex() now creates the storage directory if it doesn't exist (#304)

    Fixed

    • Preserve the exact match in fuzzy search results — SqliteEngine & MysqlEngine (#302)
    • Multibyte-aware Levenshtein distance so fuzzy search works correctly for Cyrillic/UTF-8 terms (#193)
    • Boolean -term negation now excludes results (AND-NOT) instead of unioning the NOT set, and no longer crashes on two negations (#263, #246, #267)
    • searchBoolean() now returns a docScores key, matching search() (fixes "Undefined index: docScores" in Laravel Scout) (#278)
    • filesystemMapIdsToPaths() returns null for an id with no filemap row instead of silently coercing to $res[0] (#130)
    • Highlighter no longer re-highlights the markup it injected for earlier terms (#274)
    • Clamp acos() domain in TNTGeoSearch to avoid NAN distances silently dropping the closest result (#357)
    • RedisEngine::createIndex() no longer throws "must not be accessed before initialization" on the typed $dbh property
    • Fix selectIndex()/createIndex() writing terms to the previously selected index when switching indexes in one process (Laravel Scout with multiple models)

    Full Changelog: v5.1.0...v5.2.0

    Open source →
  3. v5.1.0 11 Aug 2026
    Release notes

    Fix selectIndex()/createIndex() writing terms to the wrong index (#367).
    Switching indexes in a single process (e.g. Laravel Scout with multiple
    searchable models) no longer corrupts the previously selected index.

    Open source →
  4. v5.0.3 11 Dec 2025

    Nothing published for this version

  5. v5.0.2 25 Aug 2025

    Nothing published for this version

  6. v5.0.1 17 Jun 2025
    Release notes

    What's Changed

    Full Changelog: v5.0.0...v5.0.1

    Open source →
  7. v5.0.0 15 Apr 2025

    Nothing published for this version

  8. v4.4.0 13 Dec 2024

    Nothing published for this version

  9. v4.3.0 09 Aug 2024

    Nothing published for this version

  10. v4.2.1 19 Jul 2023

    Nothing published for this version

  11. v4.2.0 18 Jul 2023

    Nothing published for this version

  12. v4.1.0 17 Jul 2023

    Nothing published for this version

  13. v4.0.2 15 Jul 2023

    Nothing published for this version

  14. v4.0.1 14 Jul 2023

    Nothing published for this version

  15. v4.0.0 14 Jul 2023

    Nothing published for this version

  16. v3.2.0 04 May 2023

    Nothing published for this version

  17. v3.1.0 16 Feb 2023

    Nothing published for this version

  18. v3.0.0 02 Aug 2022

    Nothing published for this version

  19. v2.9.0 22 Feb 2022

    Nothing published for this version

  20. v2.8.0 17 Apr 2021

    Nothing published for this version

  21. v2.7.0 11 Mar 2021

    Nothing published for this version

  22. v2.6.0 21 Dec 2020

    Nothing published for this version

  23. v2.5.0 23 Nov 2020

    Nothing published for this version

  24. v2.4.0 16 Oct 2020

    Nothing published for this version

  25. v2.3.0 03 Apr 2020

    Nothing published for this version

  26. v2.2.0 07 Oct 2019

    Nothing published for this version

  27. v2.1.0 08 May 2019

    Nothing published for this version

  28. v2.0.0 11 Feb 2019

    Nothing published for this version

  29. v1.4.0 18 Oct 2018

    Nothing published for this version

  30. v1.3.6 13 Sep 2018

    Nothing published for this version

  31. v1.3.5 10 Aug 2018

    Nothing published for this version

  32. v1.3.4 18 Jul 2018

    Nothing published for this version

  33. v1.3.3 29 Jun 2018

    Nothing published for this version

  34. v1.3.2 03 Jun 2018

    Nothing published for this version

  35. v1.3.1 31 Jan 2018

    Nothing published for this version

  36. v1.3.0 18 Dec 2017

    Nothing published for this version

  37. v1.2.0 08 Dec 2017

    Nothing published for this version

  38. v1.1.0 18 Sep 2017

    Nothing published for this version

  39. v1.0.7 09 Sep 2017

    Nothing published for this version

  40. v1.0.6 07 Jul 2017

    Nothing published for this version

  41. v1.0.5 11 Jun 2017

    Nothing published for this version

  42. v1.0.4 11 Jun 2017

    Nothing published for this version

  43. v1.0.3 11 May 2017

    Nothing published for this version

  44. v1.0.2 10 Apr 2017

    Nothing published for this version

  45. v1.0.1 09 Mar 2017

    Nothing published for this version

  46. v1.0.0 07 Feb 2017

    Nothing published for this version

  47. v0.9.0 09 Nov 2016

    Nothing published for this version

  48. v0.8.9 24 Oct 2016

    Nothing published for this version

  49. v0.8.8 01 Oct 2016

    Nothing published for this version

  50. v0.8.7 30 Sep 2016

    Nothing published for this version

  51. v0.8.6 20 Sep 2016

    Nothing published for this version

  52. v0.8.5 25 Aug 2016

    Nothing published for this version

  53. v0.8.4 23 Aug 2016

    Nothing published for this version

  54. v0.8.3 19 Aug 2016

    Nothing published for this version

  55. v0.8.2 19 Aug 2016

    Nothing published for this version

  56. v0.8.1 19 Aug 2016

    Nothing published for this version

  57. v0.8.0 20 Jul 2016

    Nothing published for this version

  58. v0.7.1 20 Jul 2016

    Nothing published for this version

  59. v0.7.0 13 Jul 2016

    Nothing published for this version

  60. v0.6.6 03 Jul 2016

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive