=== Softlinkster Semantic Search ===
Contributors: khurramshehzad, proudnation47
Tags: search, semantic search, woocommerce, multilingual, bm25
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 8.1
Stable tag: 2.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Self-hosted WordPress search with relevant results, live AJAX search, WooCommerce support, multilingual indexing, and privacy-safe analytics.

== Description ==

**Softlinkster Semantic Search** is a powerful self-hosted search plugin for WordPress. Unlike cloud-based alternatives, all processing happens on your server — no external API calls, and no data leaving your site.

= Core Features =

* **BM25 Ranking** — Industry-standard text relevance scoring with TF-IDF weighting.
* **Live AJAX Search** — Instant search dropdown with thumbnails, prices, keyboard navigation, and accessibility.
* **Faceted Filtering** — Filter results by category, tag, post type, price range, stock status, and product attributes.
* **WooCommerce Integration** — Search products by SKU, attributes, variations; display prices and ratings in results.
* **Multilingual Support** — 10 language processors (English, Spanish, French, German, Arabic, CJK, and more).
* **Search Analytics** — Top queries, zero-result queries, CTR, click tracking, and CSV export.
* **Did You Mean** — Automatic spell correction with clickable suggestions.
* **Zero-Result Fallback** — Show popular content, recent posts, and trending queries when no results match.
* **Rich Result Cards** — Thumbnails, excerpts, prices, star ratings, and post type badges.
* **Privacy-First** — GDPR-compliant with anonymized session tracking, data export, and erasure.
* **WP-CLI Commands** — Index, reindex, compute IDF stats, export analytics, and diagnose.
* **Theme-Aware Search UI** — Search results, zero-result screens, and live search styling adapt to the active theme for readable output.
* **Classic Widget Support** — Add the search form to widget areas in traditional WordPress themes.

= Search Modes =

1. **BM25** — Pure text relevance scoring for blazing fast, highly accurate local searches.

== Installation ==

1. Upload the `softlinkster-semantic-search` directory to `/wp-content/plugins/`.
2. Activate the plugin from **Plugins**.
3. Open the **Softlinkster Semantic Search** admin menu.
4. Start building your index from the **Indexer** page.

== Frequently Asked Questions ==

= Does it work without WooCommerce? =
Yes. It degrades gracefully to post/page search.

= Does it support Polylang and WPML? =
Yes, with graceful fallback when unavailable.

= How does the live search work? =
It uses the REST API with debounced AJAX requests. No page reload needed. Results appear in a dropdown with thumbnails, prices, and keyboard navigation.

= Is it GDPR compliant? =
Yes. Search analytics use anonymized session hashes. The plugin registers WordPress data exporters and erasers for privacy compliance.

= Does it work with block themes and classic themes? =
Yes. The plugin integrates with normal WordPress search flows on both block and classic themes. Classic themes can also use the included search widget in widget areas.

== Changelog ==

= 2.1.0 =
* Fixed analytics recording, click tracking, privacy exporter/eraser support, and admin dashboard wiring.
* Improved REST/auth handling, cache invalidation, query filtering, and search pipeline performance.
* Cleaned up branding, input sanitization, test fixtures, and WordPress.org review compliance issues.

= 2.0.0 =
* **Live AJAX Instant Search** — Real-time dropdown with debouncing, keyboard navigation, thumbnails, query highlighting, WooCommerce prices, and dark mode support.
* **Faceted Filtering** — Category, tag, post type, price range, stock status, and attribute facets.
* **Enhanced Analytics Dashboard** — Summary stat cards (total searches, CTR, avg results, zero-result rate) and Most Clicked Posts table.
* **Zero-Result Fallback Page** — Popular content, recent posts, and trending query suggestions.
* **Rich Search Result Cards** — Thumbnails, excerpts, WooCommerce prices, star ratings, post type badges.
* **"Did You Mean" UI** — Clickable spell correction suggestions on search results page and in live dropdown.
* **Search Form Rendering** — Added `resultsLayout` (cards/list) and `showFacets` attributes for rendered search forms.
* **Incremental Indexing** — Content hash check skips unchanged posts during re-indexing.
* **Accessibility** — ARIA roles, combobox patterns, keyboard navigation, screen reader labels.
* **Dark Mode** — Full dark mode support for live search dropdown, facets, and result cards.

= 1.0.0 =
* Initial release.
* BM25 engine support.
* Multilingual processing and CJK bigram tokenization.
* WooCommerce indexing and price query parsing.
* REST API, WP-CLI, analytics, and admin UI.

== Upgrade Notice ==
= 2.1.0 =
Maintenance release with analytics, compatibility, and WordPress.org review fixes. Deactivate and reactivate once to ensure the latest schema is applied.

= 2.0.0 =
Major update with Live AJAX Search, Faceted Filtering, Enhanced Analytics, and rich result cards. Deactivate and reactivate the plugin to create the new database table.

= 1.0.0 =
Initial public release.
