=== 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.