{"id":219762,"date":"2025-01-17T18:10:28","date_gmt":"2025-01-17T18:10:28","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-search\/"},"modified":"2026-03-02T15:13:31","modified_gmt":"2026-03-02T15:13:31","slug":"ai-search","status":"publish","type":"plugin","link":"https:\/\/tah.wordpress.org\/plugins\/ai-search\/","author":16829483,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.22.0","stable_tag":"1.22.0","tested":"6.8.5","requires":"","requires_php":"8.0","requires_plugins":null,"header_name":"AI Search - Intelligent Search for WooCommerce and WordPress","header_author":"Samuel Silva","header_description":"Replaces the default search with an intelligent search system.","assets_banners_color":"c6b6c6","last_updated":"2026-03-02 15:13:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wp-search.ai","header_author_uri":"https:\/\/samuelsilva.pt","rating":5,"author_block_rating":0,"active_installs":90,"downloads":4064,"num_ratings":4,"support_threads":2,"support_threads_resolved":2,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"samuelsilvapt","date":"2025-01-27 00:29:33"},"1.1":{"tag":"1.1","author":"samuelsilvapt","date":"2025-01-27 00:29:33"},"1.11.0":{"tag":"1.11.0","author":"samuelsilvapt","date":"2026-01-07 12:18:57"},"1.12.0":{"tag":"1.12.0","author":"samuelsilvapt","date":"2026-01-17 15:31:17"},"1.13.0":{"tag":"1.13.0","author":"samuelsilvapt","date":"2026-01-19 12:21:55"},"1.14.0":{"tag":"1.14.0","author":"samuelsilvapt","date":"2026-01-20 19:26:18"},"1.15.0":{"tag":"1.15.0","author":"samuelsilvapt","date":"2026-01-23 17:11:59"},"1.16.0":{"tag":"1.16.0","author":"samuelsilvapt","date":"2026-01-26 14:56:16"},"1.17.0":{"tag":"1.17.0","author":"samuelsilvapt","date":"2026-02-01 20:42:17"},"1.18.0":{"tag":"1.18.0","author":"samuelsilvapt","date":"2026-02-04 13:14:52"},"1.19.0":{"tag":"1.19.0","author":"samuelsilvapt","date":"2026-02-09 22:11:58"},"1.2":{"tag":"1.2","author":"samuelsilvapt","date":"2025-02-04 10:14:51"},"1.20.0":{"tag":"1.20.0","author":"samuelsilvapt","date":"2026-02-12 18:24:10"},"1.21.0":{"tag":"1.21.0","author":"samuelsilvapt","date":"2026-02-18 11:45:32"},"1.22.0":{"tag":"1.22.0","author":"samuelsilvapt","date":"2026-03-02 15:13:31"},"1.3":{"tag":"1.3","author":"samuelsilvapt","date":"2025-03-10 21:46:37"},"1.4":{"tag":"1.4","author":"samuelsilvapt","date":"2025-03-12 12:23:26"},"1.5":{"tag":"1.5","author":"samuelsilvapt","date":"2025-06-12 14:35:47"},"1.6":{"tag":"1.6","author":"samuelsilvapt","date":"2025-07-11 11:12:31"},"1.6.1":{"tag":"1.6.1","author":"samuelsilvapt","date":"2025-07-11 14:10:27"},"1.6.2":{"tag":"1.6.2","author":"samuelsilvapt","date":"2025-07-11 14:28:57"},"1.6.3":{"tag":"1.6.3","author":"samuelsilvapt","date":"2025-07-12 09:23:17"},"1.7.0":{"tag":"1.7.0","author":"samuelsilvapt","date":"2025-10-24 10:09:12"},"1.7.1":{"tag":"1.7.1","author":"samuelsilvapt","date":"2025-10-24 13:27:07"},"1.8.0":{"tag":"1.8.0","author":"samuelsilvapt","date":"2025-10-27 19:23:53"},"1.9.0":{"tag":"1.9.0","author":"samuelsilvapt","date":"2025-12-05 22:15:07"},"1.9.1":{"tag":"1.9.1","author":"samuelsilvapt","date":"2025-12-05 22:52:36"},"1.9.2":{"tag":"1.9.2","author":"samuelsilvapt","date":"2025-12-13 17:40:12"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":4},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3253612,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544-500.png":{"filename":"banner-1544-500.png","revision":3437875,"resolution":"1544x500","location":"assets","locale":""},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3253615,"resolution":"1544x500","location":"assets","locale":""},"banner-772-250.png":{"filename":"banner-772-250.png","revision":3437875,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.1","1.11.0","1.12.0","1.13.0","1.14.0","1.15.0","1.16.0","1.17.0","1.18.0","1.19.0","1.2","1.20.0","1.21.0","1.22.0","1.3","1.4","1.5","1.6","1.6.1","1.6.2","1.6.3","1.7.0","1.7.1","1.8.0","1.9.0","1.9.1","1.9.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3451586,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3451586,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"AI Search Dashboard - Configure search settings, similarity threshold, and hybrid search balance","2":"AI Search results on the frontend - Badge showing similarity score (visible to admins only by default)"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2353,282,944,140844,286],"plugin_category":[45],"plugin_contributors":[167360],"plugin_business_model":[],"class_list":["post-219762","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-ecommerce","plugin_tags-search","plugin_tags-semantic-search","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-samuelsilvapt","plugin_committers-samuelsilvapt"],"banners":{"banner":"https:\/\/ps.w.org\/ai-search\/assets\/banner-772-250.png?rev=3437875","banner_2x":"https:\/\/ps.w.org\/ai-search\/assets\/banner-1544-500.png?rev=3437875","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ai-search\/assets\/icon-256x256.png?rev=3253612","icon_2x":"https:\/\/ps.w.org\/ai-search\/assets\/icon-256x256.png?rev=3253612","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ai-search\/assets\/screenshot-1.png?rev=3451586","caption":"AI Search Dashboard - Configure search settings, similarity threshold, and hybrid search balance"},{"src":"https:\/\/ps.w.org\/ai-search\/assets\/screenshot-2.png?rev=3451586","caption":"AI Search results on the frontend - Badge showing similarity score (visible to admins only by default)"}],"raw_content":"<!--section=description-->\n<p>AI Search for WordPress enhances the search experience by replacing the default WordPress search with an AI-powered semantic search system. Perfect for WooCommerce stores, online shops, and any WordPress site that needs intelligent product search and content discovery.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li><strong>AI-Powered Semantic Search<\/strong>: Understands user intent and context, not just keywords<\/li>\n<li><strong>WooCommerce &amp; eCommerce Ready<\/strong>: Fully compatible with WooCommerce product search, including SKUs, categories, tags, and attributes<\/li>\n<li><strong>Product Search Enhancement<\/strong>: Search products by description, features, and related concepts<\/li>\n<li><strong>Custom Post Type Support<\/strong>: Works with any custom post type (products, portfolios, directories)<\/li>\n<li><strong>No OpenAI Account Required<\/strong>: Uses our free embedding service (up to 10,000 embeddings per site)<\/li>\n<li><strong>Bring Your Own API Key<\/strong>: Optionally use your own OpenAI API key for unlimited usage<\/li>\n<li><strong>Smart Fallback System<\/strong>: 4-tier fallback ensures users always get results<\/li>\n<li><strong>Bulk Embedding Generation<\/strong>: Process multiple posts\/products at once<\/li>\n<li><strong>Advanced Threshold Control<\/strong>: Fine-tune search accuracy with precision controls<\/li>\n<li><strong>ACF Compatible<\/strong>: Index Advanced Custom Fields data for deeper search<\/li>\n<li><strong>Caching System<\/strong>: Fast results with intelligent local caching<\/li>\n<li><strong>Quota Management<\/strong>: Real-time monitoring of AI service usage and limits (v1.14.0+)<\/li>\n<\/ul>\n\n<h3>Perfect For<\/h3>\n\n<ul>\n<li>WooCommerce stores with large product catalogs<\/li>\n<li>Online marketplaces and eCommerce sites<\/li>\n<li>Membership sites with extensive content<\/li>\n<li>Directory and listing websites<\/li>\n<li>Knowledge bases and documentation sites<\/li>\n<li>Any WordPress site needing better search<\/li>\n<\/ul>\n\n<h3>How It Works<\/h3>\n\n<ol>\n<li>Plugin generates embeddings for your content using OpenAI's text-embedding-3-small model<\/li>\n<li>User searches are converted to embeddings<\/li>\n<li>AI matches search queries with content using semantic similarity<\/li>\n<li>Results are ranked by relevance, not just keyword matching<\/li>\n<li>Users find what they're looking for, even with different wording<\/li>\n<\/ol>\n\n<h3>Learn More<\/h3>\n\n<p>Visit our website for documentation, demos, and examples:\n<strong>https:\/\/wp-search.ai\/<\/strong><\/p>\n\n<p>Browse technical documentation, see live demos of the plugin in action, and learn best practices for AI-powered search.<\/p>\n\n<h3>Usage<\/h3>\n\n<ul>\n<li>Simply use the default WordPress search, and AI Search will enhance it.<\/li>\n<li>Manage your OpenAI API key and plugin settings via the <strong>Settings &gt; AI Search<\/strong> menu.<\/li>\n<\/ul>\n\n<h3>External Service<\/h3>\n\n<p>This plugin connects with:<\/p>\n\n<ul>\n<li>OpenAI Embeddings API: https:\/\/platform.openai.com\/docs\/guides\/embeddings<\/li>\n<li>Custom Node.js Embedding Service<\/li>\n<\/ul>\n\n<p>Please read more here:\nhttps:\/\/platform.openai.com\/docs\/guides\/embeddings<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to <strong>Settings &gt; AI Search<\/strong> and configure what you need.<\/li>\n<li>Run <strong>Bulk Embedding Generation<\/strong> via admin panel (the current posts have to be regenerated).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20required%20to%20use%20ai%20search%20for%20wordpress%3F\"><h3>What is required to use AI Search for WordPress?<\/h3><\/dt>\n<dd><p>If you want to use the service we provide: nothing. If you want to use your own Open AI key, you'll need that.<\/p><\/dd>\n<dt id=\"how%20does%20this%20plugin%20work%3F\"><h3>How does this plugin work?<\/h3><\/dt>\n<dd><p>The plugin uses OpenAI\u2019s <code>text-embedding-3-small<\/code> model to generate embeddings for your content. When users search, it matches the query embedding with post embeddings in the database for more relevant results.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20openai%20api%20fails%3F\"><h3>What happens if the OpenAI API fails?<\/h3><\/dt>\n<dd><p>The plugin handles API errors by logging them and reverting to the default search query.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20woocommerce%20products%3F\"><h3>Does this work with WooCommerce products?<\/h3><\/dt>\n<dd><p>Yes! AI Search has full WooCommerce integration. You can index product descriptions, SKUs, categories, tags, and attributes for intelligent product search.<\/p><\/dd>\n<dt id=\"when%20are%20embeddings%20generated%3F\"><h3>When are embeddings generated?<\/h3><\/dt>\n<dd><p>Embeddings are automatically generated when you publish a post, page, or custom post type. You can also regenerate them manually from the post editor or bulk generate them from the settings page.<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20website%3F\"><h3>Will this slow down my website?<\/h3><\/dt>\n<dd><p>No. Embeddings are generated in the background when content is published, not during searches. Search results are fast because they use pre-computed embeddings stored in your database.<\/p><\/dd>\n<dt id=\"how%20many%20embeddings%20can%20i%20create%20with%20the%20free%20service%3F\"><h3>How many embeddings can I create with the free service?<\/h3><\/dt>\n<dd><p>The free AI Search Service provides 10,000 embeddings per site. For unlimited usage, you can use your own OpenAI API key.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20custom%20post%20types%3F\"><h3>Does this work with custom post types?<\/h3><\/dt>\n<dd><p>Yes! AI Search works with any public custom post type. You can select which post types to make searchable in the setup wizard or settings page.<\/p><\/dd>\n<dt id=\"can%20i%20index%20custom%20fields%20%28acf%2C%20meta%20boxes%29%3F\"><h3>Can I index custom fields (ACF, meta boxes)?<\/h3><\/dt>\n<dd><p>Yes! You can configure custom post meta fields to be included in the search index. This is perfect for ACF fields, custom taxonomies, and other metadata.<\/p><\/dd>\n<dt id=\"what%20is%20the%20similarity%20threshold%3F\"><h3>What is the similarity threshold?<\/h3><\/dt>\n<dd><p>The similarity threshold (0.5-1.0) determines how closely search results must match the query. Higher values (0.7-0.8) give more precise results, while lower values (0.5-0.6) return broader matches.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20ai%20search%20finds%20no%20results%3F\"><h3>What happens if AI Search finds no results?<\/h3><\/dt>\n<dd><p>AI Search has a smart 4-tier fallback system that ensures users always get results, falling back to WordPress default search if needed.<\/p><\/dd>\n<dt id=\"how%20do%20i%20change%20my%20ai%20provider%3F\"><h3>How do I change my AI provider?<\/h3><\/dt>\n<dd><p>Go to AI Search &gt; General Settings and switch between the free AI Search Service or your own OpenAI API key.<\/p><\/dd>\n<dt id=\"is%20my%20search%20data%20private%3F\"><h3>Is my search data private?<\/h3><\/dt>\n<dd><p>Yes. Search queries are processed through the embedding API but are not stored externally. All search results and embeddings are stored in your WordPress database.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.22.0<\/h4>\n\n<ul>\n<li><strong>Domain Mismatch Detection<\/strong>: Admin warning when site domain differs from the registered AI Search Service domain<\/li>\n<li><strong>One-Click Reconnect<\/strong>: Button to easily reconnect and get a new token for the current domain<\/li>\n<li><strong>Automatic Origin Tracking<\/strong>: Plugin now stores the registered origin for future mismatch detection<\/li>\n<li><strong>Improved Migration Support<\/strong>: Better handling when moving sites between domains (staging to production, domain changes)<\/li>\n<\/ul>\n\n<h4>1.21.0<\/h4>\n\n<ul>\n<li><strong>Reusable CPT\/Taxonomy Selector Component<\/strong>: New shared UI component for Post Type, Taxonomy, and Term selection<\/li>\n<li><strong>Clear Embeddings by Post Type\/Taxonomy<\/strong>: Delete embeddings for specific post types or taxonomy terms (not just all at once)<\/li>\n<li><strong>Improved Cache &amp; Clean Tab<\/strong>: Added filtered clearing option alongside existing \"Clear All\" functionality<\/li>\n<li><strong>UI Component Architecture<\/strong>: Introduced <code>components\/<\/code> folder for reusable admin UI elements<\/li>\n<li><strong>Code Refactoring<\/strong>: Reduced code duplication between Generate Embeddings and Cache &amp; Clean tabs<\/li>\n<li><strong>Taxonomy\/Category Filter for Embeddings<\/strong>: Generate embeddings filtered by specific categories or taxonomies (not just post types)<\/li>\n<li><strong>Dynamic Taxonomy Loading<\/strong>: Taxonomies and terms load dynamically via AJAX based on selected post type<\/li>\n<li><strong>Improved Generate Embeddings UI<\/strong>: Cleaner form layout with loading states and better UX<\/li>\n<\/ul>\n\n<h4>1.20.0<\/h4>\n\n<ul>\n<li><strong>Performance Optimization for Large Sites<\/strong>: Major improvements for sites with thousands of posts<\/li>\n<li><strong>Batched Processing<\/strong>: Posts are now processed in batches of 100 for optimal memory usage<\/li>\n<li><strong>Search Results Caching<\/strong>: Results are cached for 5 minutes to speed up repeated queries<\/li>\n<li><strong>Direct Database Queries<\/strong>: Optimized queries that fetch only necessary data<\/li>\n<li><strong>Memory Management<\/strong>: Automatic cleanup between batches to prevent memory exhaustion<\/li>\n<li><strong>New Default Threshold<\/strong>: Changed default similarity threshold from 65% to 30% for better out-of-box results<\/li>\n<li><strong>Improved Threshold Guidelines<\/strong>: Updated slider recommendations (30% now recommended as starting point)<\/li>\n<\/ul>\n\n<h4>1.19.0<\/h4>\n\n<ul>\n<li><strong>Dedicated Admin Menu<\/strong>: AI Search now has its own top-level menu in WordPress admin (no longer under Settings)<\/li>\n<li><strong>Improved Menu Navigation<\/strong>: Settings pages and Setup Wizard now correctly highlight the AI Search menu<\/li>\n<li><strong>Contact the Author<\/strong>: New submenu link to contact the plugin author directly<\/li>\n<li><strong>URL Structure Update<\/strong>: All admin URLs now use <code>admin.php?page=ai-search<\/code> for better WordPress integration<\/li>\n<\/ul>\n\n<h4>1.18.0<\/h4>\n\n<ul>\n<li><strong>REST API Settings Endpoint<\/strong>: New public endpoint at <code>\/wp-json\/ai-search\/v1\/settings<\/code> exposing plugin configuration for debugging (no sensitive data)<\/li>\n<li><strong>OpenAI Model Selection<\/strong>: Choose between <code>text-embedding-3-small<\/code> (default, recommended) and <code>text-embedding-3-large<\/code> when using your own OpenAI API key<\/li>\n<li><strong>Extended Threshold Range<\/strong>: Similarity threshold now supports 10-100% (previously 50-100%) for broader search flexibility<\/li>\n<li><strong>Updated Default Model<\/strong>: OpenAI embeddings now use <code>text-embedding-3-small<\/code> instead of the older <code>text-embedding-ada-002<\/code><\/li>\n<\/ul>\n\n<h4>1.17.0<\/h4>\n\n<ul>\n<li><strong>Hybrid Search<\/strong>: New feature combining AI semantic search with traditional keyword matching for improved accuracy<\/li>\n<li><strong>Search Configuration Tab<\/strong>: Dedicated settings tab for fine-tuning search behavior (similarity threshold and hybrid search)<\/li>\n<li><strong>Configurable Balance Slider<\/strong>: Adjust the weight between AI semantic search (0-100%) and keyword matching<\/li>\n<li><strong>Enhanced Keyword Matching<\/strong>: Keyword scoring now includes custom fields and WooCommerce fields configured in settings<\/li>\n<li><strong>Reusable UI Components<\/strong>: New slider components for threshold and hybrid balance configuration<\/li>\n<li><strong>Improved Search Accuracy<\/strong>: Better ranking when exact keyword matches are important alongside semantic understanding<\/li>\n<\/ul>\n\n<h4>1.16.0<\/h4>\n\n<ul>\n<li><strong>Automatic Embedding Generation on Publish<\/strong>: Embeddings now generated automatically when posts\/pages\/custom post types are published<\/li>\n<li><strong>Improved Performance<\/strong>: Removed automatic embedding generation on every save - now only triggers on publish status transition<\/li>\n<li><strong>Universal CPT Support<\/strong>: Automatic embedding generation works seamlessly for all post types without additional configuration<\/li>\n<li><strong>Post Meta Box Enhancement<\/strong>: Content quality indicator and embedding preview available for published posts only<\/li>\n<li><strong>Better Resource Management<\/strong>: Reduced API calls by only generating embeddings when content is ready for public viewing<\/li>\n<li><strong>Setup Wizard Updates<\/strong>: Final step now includes similarity threshold configuration with better default value (0.65)<\/li>\n<li><strong>Admin Interface Improvements<\/strong>: Post Meta Box now provides clear status messages for unpublished posts<\/li>\n<li><strong>Case-Insensitive Search<\/strong>: All content and search queries converted to lowercase for consistent matching<\/li>\n<li><strong>Enhanced Similarity Display<\/strong>: AI Search badges now show percentage similarity scores on search results (editors\/admins only)<\/li>\n<li><strong>Fallback Search Improvements<\/strong>: Fallback results now calculate and display actual similarity scores instead of showing 0%<\/li>\n<li><strong>Threshold Filtering on Fallback<\/strong>: All fallback search strategies now respect the similarity threshold setting<\/li>\n<li><strong>CSS Classes for Results<\/strong>: Added <code>ai-search-similarity-{percentage}<\/code> CSS classes to all search results for custom styling<\/li>\n<li><strong>Frontend Threshold Slider<\/strong>: Admins can test different threshold values directly on search results pages<\/li>\n<\/ul>\n\n<h4>1.15.0<\/h4>\n\n<ul>\n<li><strong>Enhanced Setup Wizard<\/strong>: Expanded from 3 to 4 steps with new custom fields configuration<\/li>\n<li><strong>Custom Fields Step<\/strong>: New dedicated wizard step for choosing searchable content<\/li>\n<li><strong>Content Richness Emphasis<\/strong>: Added messaging that \"richer content = better search results\"<\/li>\n<li><strong>Post Type Selection<\/strong>: Choose which post types (posts, pages, custom types) are searchable during setup<\/li>\n<li><strong>WooCommerce Field Configuration<\/strong>: Configure product fields (SKU, categories, tags, attributes) in wizard<\/li>\n<li><strong>Streamlined Admin Menu<\/strong>: Simplified submenu to General Settings, Setup Wizard, and Support Forum link<\/li>\n<li><strong>Direct Support Access<\/strong>: Added WordPress.org support forum link directly in admin menu<\/li>\n<li><strong>Improved Quota Display<\/strong>: Quota tab now shows relevant message for users with their own OpenAI API key<\/li>\n<li><strong>Better Onboarding Flow<\/strong>: Setup wizard now guides users to configure content before generating embeddings<\/li>\n<li><strong>Brazilian Portuguese Translation<\/strong>: Added pt_BR translation file for readme<\/li>\n<\/ul>\n\n<h4>1.14.0<\/h4>\n\n<ul>\n<li><strong>Quota Management Tab<\/strong>: New dedicated tab showing real-time usage statistics from AI Search Service<\/li>\n<li><strong>Usage Monitoring<\/strong>: Visual progress bars displaying total embeddings and daily usage against limits<\/li>\n<li><strong>Quota Status Indicators<\/strong>: Clear status badges showing if quotas are active or exceeded<\/li>\n<li><strong>Manual Refresh<\/strong>: On-demand quota data refresh with intelligent 6-hour caching<\/li>\n<li><strong>Detailed Error Messages<\/strong>: Enhanced error handling with specific API error messages<\/li>\n<li><strong>Last Updated Timestamp<\/strong>: Human-readable \"last updated X ago\" display for quota data<\/li>\n<li><strong>Quota Manager Class<\/strong>: New dedicated controller class for quota management (separation of concerns)<\/li>\n<li><strong>API Integration<\/strong>: Direct integration with <code>\/clients\/quota<\/code> endpoint using Bearer token authentication<\/li>\n<li><strong>Internationalization<\/strong>: All new quota strings fully translatable<\/li>\n<\/ul>\n\n<h4>1.13.0<\/h4>\n\n<ul>\n<li><strong>Top-Level Admin Menu<\/strong>: AI Search moved from Settings submenu to main WordPress admin menu (position 58, before Settings)<\/li>\n<li><strong>Custom Menu Icon<\/strong>: Added plugin icon (SVG) to admin menu<\/li>\n<li><strong>Full i18n Support<\/strong>: All admin settings pages now fully translatable<\/li>\n<li><strong>Improved Admin UX<\/strong>: Better visibility and professional appearance in WordPress admin<\/li>\n<\/ul>\n\n<h4>1.12.0<\/h4>\n\n<ul>\n<li><strong>Automatic Service Registration<\/strong>: Plugin now registers with AI Search Service immediately on activation<\/li>\n<li><strong>Setup Wizard Redirect<\/strong>: Users are automatically redirected to the setup wizard after plugin activation<\/li>\n<li><strong>Simplified Settings UI<\/strong>: Removed service token field from settings - connection is now managed automatically<\/li>\n<li><strong>Check Connection Button<\/strong>: Replaced \"Validate Token\" with cleaner \"Check Connection\" button showing usage stats<\/li>\n<li><strong>Streamlined Onboarding<\/strong>: Better first-time user experience with automatic configuration<\/li>\n<li><strong>Code Cleanup<\/strong>: Removed unused spelling suggestions and search highlighter classes<\/li>\n<\/ul>\n\n<h4>1.11.0<\/h4>\n\n<ul>\n<li><strong>Percentage-Based Threshold Display<\/strong>: Similarity threshold now displays as percentage (20-100%) instead of decimal (0.2-1.0) for easier understanding<\/li>\n<li><strong>Public Badge Visibility Option<\/strong>: New admin setting to show AI Search badge to all visitors, not just editors\/admins<\/li>\n<li><strong>Removed Analytics Feature<\/strong>: Simplified plugin by removing search analytics dashboard and tracking<\/li>\n<li><strong>Enhanced WooCommerce Documentation<\/strong>: Improved readme with eCommerce-specific keywords and use cases<\/li>\n<li><strong>Visual Improvements<\/strong>: Redesigned similarity threshold section with prominent visual indicators<\/li>\n<li><strong>No Emoji Policy<\/strong>: Removed all emojis from admin interface for professional appearance<\/li>\n<li><strong>Website Launch<\/strong>: Added link to https:\/\/wp-search.ai for documentation and demos<\/li>\n<\/ul>\n\n<h4>1.10.1<\/h4>\n\n<ul>\n<li><strong>AI Search Result Badge<\/strong>: Visual badge displayed on search results powered by AI\n\n<ul>\n<li>Shows \"AI Search Result\" label with plugin icon<\/li>\n<li>Only visible to editors and administrators<\/li>\n<li>Tooltip explains visibility restriction<\/li>\n<\/ul><\/li>\n<li><strong>Similarity CSS Classes<\/strong>: Added CSS classes to search result posts\n\n<ul>\n<li><code>ai-search-result<\/code> class for AI-powered results<\/li>\n<li><code>ai-search-similarity-{0-100}<\/code> class with exact similarity percentage<\/li>\n<li><code>ai-search-match<\/code> class when result meets configured threshold<\/li>\n<li><code>ai-search-fallback<\/code> class for non-AI fallback results<\/li>\n<\/ul><\/li>\n<li><strong>Removed Frontend Notices<\/strong>: Removed the intrusive search feedback notices that were shown to all users<\/li>\n<li><strong>Developer Enhancement<\/strong>: Similarity scores accessible via static properties for theme customization<\/li>\n<\/ul>\n\n<h4>1.10.0<\/h4>\n\n<ul>\n<li><strong>Search Analytics Dashboard<\/strong>: Track and analyze search behavior\n\n<ul>\n<li>Log all search queries with result counts<\/li>\n<li>Click-through tracking on search results<\/li>\n<li>Popular queries and zero-result analysis<\/li>\n<li>Time-based statistics and trends<\/li>\n<li>CSV export functionality<\/li>\n<\/ul><\/li>\n<li><strong>\"Did You Mean?\" Spelling Suggestions<\/strong>: Intelligent spelling correction\n\n<ul>\n<li>Vocabulary built from post titles and taxonomies<\/li>\n<li>Levenshtein distance-based word matching<\/li>\n<li>Cached suggestions for performance<\/li>\n<\/ul><\/li>\n<li><strong>Search Term Highlighting<\/strong>: Visual feedback in search results\n\n<ul>\n<li>Highlights matching terms in titles and excerpts<\/li>\n<li>Customizable highlight colors via filters<\/li>\n<li>Dark mode support<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>1.9.2<\/h4>\n\n<ul>\n<li><strong>Version Consistency<\/strong>: Fixed version mismatch between plugin header and internal constants<\/li>\n<li><strong>Internationalization Ready<\/strong>: Added text-domain 'ai-search' and domain path for translation support<\/li>\n<li><strong>Documentation Fix<\/strong>: Corrected similarity threshold range documentation (0.2-1.0)<\/li>\n<li><strong>Developer Filter<\/strong>: Added <code>ai_search_searchable_post_types<\/code> filter to customize which post types are searchable<\/li>\n<\/ul>\n\n<h4>1.9.0<\/h4>\n\n<ul>\n<li><strong>Enhanced Fallback Search System<\/strong>: Introduced intelligent 4-tier fallback mechanism for zero-result searches:\n\n<ul>\n<li>WordPress default search fallback with result count display<\/li>\n<li>Broader semantic search with relaxed similarity thresholds<\/li>\n<li>Unprocessed content search for posts without embeddings<\/li>\n<li>Smart query suggestion system for completely failed searches<\/li>\n<\/ul><\/li>\n<li><strong>User Feedback Notifications<\/strong>: Real-time search feedback system with dismissible notices:\n\n<ul>\n<li>Visual indicators showing which fallback method was used<\/li>\n<li>Search result counts for transparency<\/li>\n<li>Automatic cleanup of feedback transients<\/li>\n<li>Contextual messaging for different search scenarios<\/li>\n<\/ul><\/li>\n<li><strong>Interactive Threshold Demo<\/strong>: Professional threshold demonstration interface:\n\n<ul>\n<li>Real-time product similarity visualization<\/li>\n<li>Sample clothing store dataset with summer search scenario<\/li>\n<li>Dynamic filtering based on threshold adjustments<\/li>\n<li>Performance indicators showing recall rates and precision levels<\/li>\n<li>Color-coded similarity scores and visual feedback<\/li>\n<\/ul><\/li>\n<li><strong>Token Validation System<\/strong>: Comprehensive service token management:\n\n<ul>\n<li>One-click token validation with detailed usage statistics<\/li>\n<li>Real-time quota monitoring (daily\/total limits)<\/li>\n<li>Client information display including origin verification<\/li>\n<li>Error handling for invalid or expired tokens<\/li>\n<\/ul><\/li>\n<li><strong>Setup Wizard Enhancement<\/strong>: Improved first-time user experience:\n\n<ul>\n<li>Step-by-step configuration process<\/li>\n<li>Provider comparison with clear recommendations<\/li>\n<li>Visual progress indicators and smooth transitions<\/li>\n<li>Comprehensive completion flow<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li><strong>Service Token Management<\/strong>: Added manual service token field in General Settings for better control and transparency<\/li>\n<li><strong>Token Validation System<\/strong>: New \"Validate Token\" button with real-time validation and detailed usage statistics<\/li>\n<li><strong>Enhanced Admin Interface<\/strong>: Service token field automatically shows\/hides based on provider selection<\/li>\n<li><strong>Comprehensive Validation Results<\/strong>: Displays client ID, origin, daily\/total limits, current usage, and quota status<\/li>\n<li><strong>Improved Error Handling<\/strong>: Better error messages for token validation failures and connection issues<\/li>\n<li><strong>User Experience Improvements<\/strong>: Loading spinner, button states, and clearer user guidance<\/li>\n<li><strong>Debugging Enhancements<\/strong>: Added error logging for better troubleshooting and API response monitoring<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Major Performance &amp; UX Improvements<\/li>\n<li>Service Registration Optimization: Moved AI service registration from plugin initialization to settings save, eliminating unnecessary API calls during normal page loads<\/li>\n<li>Cache Management Tab: Added comprehensive cache management interface with three clearing options:\n\n<ul>\n<li>Clear embedding cache (transients) - safe regeneration<\/li>\n<li>Clear post meta embeddings - requires manual regeneration<\/li>\n<li>Clear all embedding data - complete reset option<\/li>\n<\/ul><\/li>\n<li>Enhanced Similarity Threshold**: Improved precision and range:\n\n<ul>\n<li>Range changed from 0.0-1.0 to 0.2-1.0 (eliminates very low-relevance results while allowing broader searches)<\/li>\n<li>Precision increased from 0.01 to 0.001 steps (3 decimal places)<\/li>\n<li>Better user guidance and formatting<\/li>\n<\/ul><\/li>\n<li>Modular Code Architecture: Refactored service registration into isolated, reusable methods for better maintainability<\/li>\n<li>Real-time Cache Statistics: Display current cache size and post embedding counts<\/li>\n<li>Enhanced Error Handling**: Better user feedback when AI service is unavailable with automatic fallback<\/li>\n<li>Security Improvements: Enhanced nonce verification and user capability checks<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Replaced internal embedding storage with external service integration.<\/li>\n<li>Token-based authentication per origin.<\/li>\n<li>Restore original search in case there isn't any AI results<\/li>\n<li>Solve fatal errors in case the vectors don't have the same size<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Bulk embedding generation based on custom number of posts<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li><strong>Settings UI Revamp<\/strong>: Introduced <strong>tabbed navigation<\/strong> to separate \"General Settings\" and \"Generate Embeddings\" for better organization.<\/li>\n<li><strong>Batch Embedding Generation<\/strong>: Users can now trigger embedding generation <strong>for up to 50 posts<\/strong> at a time.<\/li>\n<li><strong>Custom Post Type Selection<\/strong>: A dropdown was added, allowing users to <strong>choose which CPT<\/strong> they want to generate embeddings for.<\/li>\n<li><strong>Embedding Optimization<\/strong>: Now only processes posts that <strong>do not yet have embeddings<\/strong> to <strong>avoid redundant API calls<\/strong> and <strong>improve performance<\/strong>.<\/li>\n<li><strong>Security Enhancements<\/strong>: Added <strong>nonce verification<\/strong> to protect settings updates.<\/li>\n<\/ul>\n\n<p>This update significantly <strong>improves usability<\/strong>, <strong>optimizes performance<\/strong>, and <strong>gives users more control<\/strong> over AI-powered search embeddings.<\/p>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li><strong>Similarity Threshold Control<\/strong>: Added a <strong>range input field<\/strong> (0-1) in settings to allow users to adjust the similarity threshold dynamically.<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Cache Search embeddings, saved in transients for one day<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>text-davinci-003 (deprecated) has been replaced bytext-embedding-ada-002 model<\/li>\n<li>db manipulation has been replaced by custom_post_meta approach<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release, adding the settings page and the search filter.<\/li>\n<\/ul>","raw_excerpt":"Replaces the default WordPress search with an AI-powered semantic search system. Perfect for WooCommerce stores and eCommerce sites. ---","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/219762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=219762"}],"author":[{"embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/samuelsilvapt"}],"wp:attachment":[{"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=219762"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=219762"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=219762"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=219762"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=219762"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/tah.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=219762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}