TIP: You can type at any time to perform a new search.
Improved Name Search
base_name_search_improved · OCA/server-tools
- Repository
- OCA/server-tools · module folder · Try on Runboat
- Module version
- 1.1.1
- Category
- Uncategorized
- Folder size
- 0.9 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/server-tools
- Last tracking update
- 2026-08-07 08:42:57
- Authors
- Odoo Community Association (OCA), ADHOC SA, Daniel Reis
- Maintainers
- Odoo Community Association (OCA), ADHOC SA, Daniel Reis
- Committers
- Stefan Rijnhart, Weblate, Franco Leyes, OCA-git-bot, oca-ci
- Odoo dependencies
-
odoo/odoo:- base
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
Extends the name search feature to use additional, more relaxed matching methods, and to allow searching into configurable additional record fields. The name search is the lookup feature to select a related record. For example, selecting a Customer on a new Sales order. For example, typing "john brown" doesn't match "John M. Brown". The relaxed search also looks up for records containing all the words, so "John M. Brown" would be a match. It also tolerates words in a different order, so searching for "brown john" also works.  Additionally, an Administrator can configure other fields to also lookup into. For example, Customers could be additionally searched by City or Phone number.  How it works: Regular name search is performed, and the additional search logic is only triggered if not enough results are found. This way, no overhead is added on searches that would normally yield results. But if not enough results are found, then additional search methods are tried. The specific methods used are: - Try regular search on each of the additional fields - Try ordered word search on each of the search fields - Try unordered word search on each of the search fields All results found are presented in that order, hopefully presenting them in order of relevance.
Code Analysis ⓘ
Views touched (3)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_model_form_new |
view.model.form | ir.model | form | New |
view_model_search |
view.model.search | ir.model | search | New |
view_model_tree |
view.model.list | ir.model | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (2)
New fields (1)
-
smart_searchCharcompute='_compute_smart_search'search='_search_smart_search'translate=False
-
name_search(self, name='', args=None, operator='ilike', limit=100)@api.model
New fields (5)
-
add_smart_searchBooleanhelp='Add Smart Search on search views' -
name_search_domainCharstring='Smart Search Domain' -
name_search_idsMany2many → ir.model.fieldsstring='Smart Search Fields' args: 'ir.model.fields' -
smart_search_warningHtmlcompute='_compute_smart_search_warning' -
use_smart_name_searchBooleanhelp="Use Smart Search for 'name_search', this will affect when searching from other records (for eg. from m2o fields"string='Smart Name Search Enabled?'
-
check_name_search_domain(self)@api.constrains('name_search_domain') -
update_search_wo_restart(self)@api.constrains('name_search_ids', 'name_search_domain', 'add_smart_search') -
write(self, vals)
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
- Status
- Open migration PR — not merged yet for this version
- CI status
- checks failing
- Open since
- 144 days ago
- Last activity
- 39 days ago
- Repository
- OCA/server-tools
- Pull request
- [19.0][MIG] base_name_search_improved: Migration to 19.0 (#3580)
- Status
- Open migration PR — not merged yet for this version
- CI status
- checks failing
- Open since
- 332 days ago
- Last activity
- 165 days ago
- Repository
- OCA/server-tools
- Pull request
- [19.0][MIG] base_name_search_improved: Migration to 19.0 (#3381)