| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 442 |
| Technical Name |
bista_text_semantic_search |
| License | LGPL-3 |
| Website | https://www.bistasolutions.com |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 442 |
| Technical Name |
bista_text_semantic_search |
| License | LGPL-3 |
| Website | https://www.bistasolutions.com |
| Versions | 17.0 18.0 19.0 |
Bista Text Semantic Search
Enhance Odoo's text search with semantic understanding for smarter, faster, and more relevant results.
Smarter Search for Odoo
This module introduces semantic search into Odoo, allowing the system to understand meaning and context rather than relying on plain keyword matching. The result is higher quality search output with minimal setup.
Key Features
Core capabilities built for daily Odoo usage.
Semantic Search
Searches by meaning and context, not exact text matches.
Custom Field Support
Enable semantic search by setting semantic_search=True.
Automatic Indexing
Keeps document representations in sync for fast queries.
Configuration Interface
Manage settings directly inside Odoo configuration.
Usage & Technical Implementation
Quick setup steps and how the engine works.
Usage
To enable semantic search on a text field, set the attribute below:
_name = 'my.model'
description = fields.Text(semantic_search=True)
When searching for records:
records = self.env['my.model'].search([('description', 'ilike', 'search term')])
Technical Implementation
The module works by:
- Creating pickle files that store document representations of text fields.
- When a search runs on a field with semantic_search=True it:
-
- Uses stored document representations
- Applies semantic search algorithms to find relevant matches
- Ranks results using multiple scoring factors
- Returns matching record IDs
Technical Explanation
Brief overview of the technical aspects of the module.
- Data Layer: Documents are serialized with pickle, enriched with metadata such as project names and content hashes.
- Processing Layer: Uses Haystack’s InMemoryDocumentStore with the BM25 algorithm for fast in-memory retrieval.
- Application Layer: Adds fuzzy query correction (RapidFuzz), semantic validation (WordFreq), and composite scoring mechanisms.
Configuration & Requirements
Everything needed to get started quickly.
Configuration
Configure from Odoo Settings:
- Go to Settings > General Settings
- Find the Semantic Search Configuration section
- Select a model with semantic search fields
- Click Refresh Semantic Search to update the index
Requirements
Required Odoo addons:
- base
- web
Python packages (via requirements.txt):
- haystack-ai==2.22.0
- rapidfuzz==3.14.3
- numpy==2.2.6
- wordfreq==3.1.1
Screenshots
Bista Text Semantic Search Module for Odoo
© 2026 Bista Solutions - All rights reserved
Please log in to comment on this module