| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/search-engine |
| GIT | |
| GIT | https://github.com/OCA/search-engine.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/search-engine/tree/18.0/connector_search_engine |
| VERSION | |
| VERSION | 1.1.0 |
| CATEGORY | |
| CATEGORY | Generic Modules |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| COMMITTERS | |
| COMMITTERS | GitHub, Laurent Mignon (ACSONE), Denis Roussel, Ivàn Todorovich, sbejaoui, Thomas Binsfeld, Sébastien BEAU, Florian da Costa, beau sebastien, David Beal, oca-travis, Weblate, OCA-git-bot, Simone Orsi, hparfr, Mourad EL HADJ MIMOUNE, François Honoré, clementmbr, Benjamin Willig, Quentin Groulard, oca-ci, Héctor Villarreal Ortega, kobros-tech, Laurent-Corron, Florian Mounier, chafique.delli, Benoît, Arnaud LAYEC |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/search-engine |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/queue: - queue_job OCA/server-env: - server_environment OCA/server-tools: - base_partition odoo/odoo: - base - base_setup - web - bus - web_tour - html_editor - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
typing-extensions unidecode requests |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Base module for connecting Odoo with external search engines. This addon is intended to be used as a base for other addons that implement specific search engines. It's designed to be easily extensible and modular. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
se_backend_form_view |
se.backend | form | New | |
se_backend_tree_view |
se.backend.tree (in connector_search_engine) | se.backend | list | New |
se_binding_state_updater_form_view |
se.binding.state.updater.form (in connector_search_engine) | se.binding.state.updater | form | New |
se_binding_view_form |
se.binding | form | New | |
se_binding_view_search |
se.binding | search | New | |
se_binding_view_tree |
se.binding | list | New | |
se_index_config_form_view |
se.index.config.form (in connector_search_engine) | se.index.config | form | New |
se_index_config_tree_view |
se.index.config.tree (in connector_search_engine) | se.index.config | list | New |
se_index_form_view |
se.index.form | se.index | form | New |
se_index_kanban_view |
se.index | kanban | New | |
se_index_search_view |
se.index | search | New | |
se_index_tree_view |
se.index | list | New |
No new fields.
Public methods (0)No public methods.
backend_type
Selection
required=True
selection=[]
string='Type'
binding_count
Integer
compute='_compute_binding_count'
binding_ids
One2many → se.binding
index_ids
One2many → se.index
index_prefix_name
Char
help='Prefix for technical indexes tech name. You could use this to change index names based on current env.'
name
Char
required=True
action_open_bindings(self)
action_test_connection(self)
get_adapter(self, index=None) -> SearchEngineAdapter
backend_id
Many2one → se.backend
readonly=True
related='index_id.backend_id'
store=True
string='Search Engine Backend'
args: 'se.backend'
data
Json
prefetch=False
readonly=True
data_display
Text
compute='_compute_data_display'
help='Include this in debug mode to be able to inspect index data.'
date_recomputed
Datetime
readonly=True
date_synchronized
Datetime
readonly=True
error
Text
index_id
Many2one → se.index
ondelete='cascade'
readonly=True
required=True
string='Index'
args: 'se.index'
record_id
Reference
compute='_compute_record_id'
readonly=True
selection=<expr>
res_id
Integer
help='ID of the target record in the database'
readonly=True
string='Record ID'
res_model
Selection
readonly=True
selection=<expr>
state
Selection
default='to_recompute'
readonly=True
args: [('to_recompute', 'To recompute'), ('recomputing', 'Recomputing'), ('to_export', 'To export'), ('exporting', 'Exporting'), ('done', 'Done'), ('invalid_data', 'Invalid Data'), ('recompute_error', 'Fail to Recompute'), ('to_delete', 'To Delete'), ('deleting', 'Deleting')]
create(self, vals_list) -> Self
delete_record(self) -> str
export_record(self) -> str
get_export_data(self) -> <expr>
jobify_recompute_json(self, force_export: bool=False)
recompute_from_owner(self)
recompute_json(self, force_export: bool=False)
record(self) -> models.Model
unlink(self)
write(self, vals) -> bool
state
Selection
required=True
selection=<expr>
string='New state'
doit(self)
backend_id
Many2one → se.backend
ondelete='cascade'
required=True
string='Backend'
args: 'se.backend'
batch_exporting_size
Integer
default=1000
help='Batch size for exporting element'
batch_recomputing_size
Integer
default=50
help='Batch size for recomputing element'
binding_ids
One2many → se.binding
color
Integer
compute='_compute_count_binding'
string='Color Index'
config_id
Many2one → se.index.config
comodel_name='se.index.config'
help='Index configuration record'
string='Config'
count_all
Integer
compute='_compute_count_binding'
count_done
Integer
compute='_compute_count_binding'
count_error
Integer
compute='_compute_count_binding'
count_pending
Integer
compute='_compute_count_binding'
custom_tech_name
Char
help="Take control of index technical name. The final index name is still computed and contains in any case: backend index name prefix and language if given. If no custom name is provided, model's normalized name will be used."
lang_id
Many2one → res.lang
required=False
string='Lang'
args: 'res.lang'
model_id
Many2one → ir.model
domain=<expr>
ondelete='cascade'
required=True
string='Model'
args: 'ir.model'
name
Char
compute='_compute_name'
store=True
serializer_type
Selection
action_open_bindings(self)
batch_recompute(self, force_export: bool=False) -> None
batch_sync(self, force_export: bool=False) -> None
clear_index(self) -> None
delete_obsolete_item(self, item_ids: <expr>)
export_all_settings(self) -> None
export_settings(self) -> None
force_batch_sync(self) -> None
generate_batch_recompute_per_index(self, domain: <expr>=None) -> None
generate_batch_sync_per_index(self, domain: <expr>=None) -> None
json_validator(self) -> JsonValidator
model_serializer(self) -> ModelSerializer
recompute_all_binding(self, force_export: bool=False)
recompute_all_index(self, domain=None) -> None
recompute_and_export_all_binding(self) -> None
reindex(self) -> None
resynchronize_all_bindings(self)
se_adapter(self) -> SearchEngineAdapter
write(self, vals)
body_str
Text
compute='_compute_body_str'
default='{}'
inverse='_inverse_body_str'
tracking=True
name
Char
required=True
No public methods.
count_se_binding_done
Integer
compute='_compute_count_binding'
count_se_binding_error
Integer
compute='_compute_count_binding'
count_se_binding_pending
Integer
compute='_compute_count_binding'
count_se_binding_total
Integer
compute='_compute_count_binding'
se_binding_ids
One2many → se.binding
comodel_name='se.binding'
compute='_compute_binding_ids'
compute_sudo=True
string='Seacrh Engine Bindings'
open_se_binding(self)
unlink(self)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/search-engine |
| GIT | |
| GIT | https://github.com/OCA/search-engine.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/search-engine/tree/16.0/connector_search_engine |
| VERSION | |
| VERSION | 1.1.2 |
| CATEGORY | |
| CATEGORY | Generic Modules |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| COMMITTERS | |
| COMMITTERS | GitHub, Laurent Mignon (ACSONE), Denis Roussel, Ivàn Todorovich, sbejaoui, Thomas Binsfeld, Sébastien BEAU, Florian da Costa, beau sebastien, David Beal, oca-travis, Weblate, OCA-git-bot, Simone Orsi, hparfr, Mourad EL HADJ MIMOUNE, François Honoré, clementmbr, Benjamin Willig, Quentin Groulard, oca-ci, Héctor Villarreal Ortega, kobros-tech, cyrilmanuel, Laurent-Corron, Florian Mounier, chafique.delli |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/search-engine |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:54:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/queue: - queue_job OCA/server-env: - server_environment OCA/server-tools: - base_partition odoo/odoo: - base - base_setup - web - bus - web_tour - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
typing-extensions unidecode requests |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
se_backend_form_view |
se.backend | form | New | |
se_backend_tree_view |
se.backend.tree (in connector_search_engine) | se.backend | tree | New |
se_binding_state_updater_form_view |
se.binding.state.updater.form (in connector_search_engine) | se.binding.state.updater | form | New |
se_binding_view_form |
se.binding | form | New | |
se_binding_view_search |
se.binding | search | New | |
se_binding_view_tree |
se.binding | tree | New | |
se_index_config_form_view |
se.index.config.form (in connector_search_engine) | se.index.config | form | New |
se_index_config_tree_view |
se.index.config.tree (in connector_search_engine) | se.index.config | tree | New |
se_index_form_view |
se.index.form | se.index | form | New |
se_index_kanban_view |
se.index | kanban | New | |
se_index_search_view |
se.index | search | New | |
se_index_tree_view |
se.index | tree | New |
No new fields.
Public methods (0)No public methods.
backend_type
Selection
required=True
selection=[]
string='Type'
binding_count
Integer
compute='_compute_binding_count'
binding_ids
One2many → se.binding
index_ids
One2many → se.index
index_prefix_name
Char
help='Prefix for technical indexes tech name. You could use this to change index names based on current env.'
name
Char
required=True
action_open_bindings(self)
action_test_connection(self)
get_adapter(self, index=None) -> SearchEngineAdapter
backend_id
Many2one → se.backend
readonly=True
related='index_id.backend_id'
store=True
string='Search Engine Backend'
args: 'se.backend'
data
Json
prefetch=False
readonly=True
data_display
Text
compute='_compute_data_display'
help='Include this in debug mode to be able to inspect index data.'
date_recomputed
Datetime
readonly=True
date_synchronized
Datetime
readonly=True
error
Text
index_id
Many2one → se.index
ondelete='cascade'
readonly=True
required=True
string='Index'
args: 'se.index'
record_id
Reference
compute='_compute_record_id'
readonly=True
selection=<expr>
res_id
Integer
help='ID of the target record in the database'
readonly=True
string='Record ID'
res_model
Selection
readonly=True
selection=<expr>
state
Selection
default='to_recompute'
readonly=True
args: [('to_recompute', 'To recompute'), ('recomputing', 'Recomputing'), ('to_export', 'To export'), ('exporting', 'Exporting'), ('done', 'Done'), ('invalid_data', 'Invalid Data'), ('recompute_error', 'Fail to Recompute'), ('to_delete', 'To Delete'), ('deleting', 'Deleting')]
create(self, vals_list) -> Self
delete_record(self) -> str
export_record(self) -> str
get_export_data(self) -> <expr>
jobify_recompute_json(self, force_export: bool=False)
recompute_from_owner(self)
recompute_json(self, force_export: bool=False)
record(self) -> models.Model
unlink(self)
write(self, vals) -> bool
do_it_now
Boolean
help="Don't wait for the cron to process these records"
state
Selection
required=True
selection=<expr>
string='New state'
doit(self)
backend_id
Many2one → se.backend
ondelete='cascade'
required=True
string='Backend'
args: 'se.backend'
batch_exporting_size
Integer
default=1000
help='Batch size for exporting element'
batch_recomputing_size
Integer
default=50
help='Batch size for recomputing element'
binding_ids
One2many → se.binding
color
Integer
compute='_compute_count_binding'
string='Color Index'
config_id
Many2one → se.index.config
comodel_name='se.index.config'
help='Index configuration record'
string='Config'
count_all
Integer
compute='_compute_count_binding'
count_done
Integer
compute='_compute_count_binding'
count_error
Integer
compute='_compute_count_binding'
count_pending
Integer
compute='_compute_count_binding'
custom_tech_name
Char
help="Take control of index technical name. The final index name is still computed and contains in any case: backend index name prefix and language if given. If no custom name is provided, model's normalized name will be used."
lang_id
Many2one → res.lang
required=False
string='Lang'
args: 'res.lang'
model_id
Many2one → ir.model
domain=<expr>
ondelete='cascade'
required=True
string='Model'
args: 'ir.model'
name
Char
compute='_compute_name'
store=True
serializer_type
Selection
action_open_bindings(self)
batch_recompute(self, force_export: bool=False, binding_ids: <expr>=None) -> None
batch_sync(self, force_export: bool=False) -> None
clear_index(self) -> None
delete_obsolete_item(self, item_ids: <expr>)
export_all_settings(self) -> None
export_settings(self) -> None
force_batch_sync(self) -> None
force_recompute_all_binding(self) -> None
generate_batch_recompute_per_index(self, domain: <expr>=None) -> None
generate_batch_sync_per_index(self, domain: <expr>=None) -> None
json_validator(self) -> JsonValidator
model_serializer(self) -> ModelSerializer
recompute_all_binding(self, force_export: bool=False)
recompute_all_index(self, domain=None) -> None
reindex(self) -> None
resynchronize_all_bindings(self)
se_adapter(self) -> SearchEngineAdapter
write(self, vals)
body_str
Text
compute='_compute_body_str'
default='{}'
inverse='_inverse_body_str'
tracking=True
name
Char
required=True
No public methods.
count_se_binding_done
Integer
compute='_compute_count_binding'
count_se_binding_error
Integer
compute='_compute_count_binding'
count_se_binding_pending
Integer
compute='_compute_count_binding'
count_se_binding_total
Integer
compute='_compute_count_binding'
se_binding_ids
One2many → se.binding
comodel_name='se.binding'
compute='_compute_binding_ids'
compute_sudo=True
string='Seacrh Engine Bindings'
open_se_binding(self)
unlink(self)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/search-engine |
| GIT | |
| GIT | https://github.com/OCA/search-engine.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/search-engine/tree/15.0/connector_search_engine |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Generic Modules |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| COMMITTERS | |
| COMMITTERS | Miquel Raïch, OCA-git-bot, oca-ci |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/search-engine |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:43 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/connector: - connector - component - component_event OCA/queue: - queue_job OCA/server-env: - server_environment OCA/server-tools: - jsonifier odoo/odoo: - base - base_setup - web - bus - web_tour - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode requests cachetools |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
se_backend_form_view |
se.backend.form (in connector_search_engine) | se.backend | form | New |
se_backend_tree_view |
se.backend.tree (in connector_search_engine) | se.backend | tree | New |
se_index_config_form_view |
se.index.config.form (in connector_search_engine) | se.index.config | form | New |
se_index_config_tree_view |
se.index.config.tree (in connector_search_engine) | se.index.config | tree | New |
se_index_search_view |
se.index.search (in connector_search_engine) | se.index | search | New |
se_index_tree_no_backend_view |
se.index.tree with backend hidden (in connector_search_engine) | se.index | field | Inherits connector_search_engine.se_index_tree_view |
se_index_tree_view |
se.index.tree (in connector_search_engine) | se.index | tree | New |
index_ids
One2many → se.index
index_prefix_name
Char
help='Prefix for technical indexes tech name. You could use this to change index names based on current env.'
name
Char
required=True
specific_backend
Reference
compute='_compute_specific_backend'
readonly=True
selection='_select_specific_backend'
specific_model
Selection
readonly=True
required=True
selection='_select_specific_model'
string='Type'
search_engine_name(self)
index_prefix_name
Char
readonly=False
related='se_backend_id.index_prefix_name'
se_backend_id
Many2one → se.backend
auto_join=True
comodel_name='se.backend'
delegate=True
index=True
ondelete='cascade'
required=True
create(self, vals)
unlink(self)
active
Boolean
default=True
data
Serialized
data_display
Text
compute='_compute_data_display'
help='Include this in debug mode to be able to inspect index data.'
date_modified
Datetime
readonly=True
date_syncronized
Datetime
readonly=True
index_id
Many2one → se.index
ondelete='cascade'
required=True
string='Index'
args: 'se.index'
se_backend_id
Many2one → se.backend
related='index_id.backend_id'
string='Search Engine Backend'
args: 'se.backend'
sync_state
Selection
default='new'
readonly=True
args: [('new', 'New'), ('to_update', 'To update'), ('scheduled', 'Scheduled'), ('done', 'Done'), ('to_be_checked', 'To be checked')]
create(self, vals)
get_export_data(self)
jobify_recompute_json(self, force_export=False)
recompute_json(self, force_export=False)
synchronize(self)
unlink(self)
write(self, vals)
binding_id
Integer
required=True
string='Binding ID'
index_id
Many2one → se.index
ondelete='cascade'
required=True
string='Index'
args: 'se.index'
synchronize(self)
backend_id
Many2one → se.backend
ondelete='cascade'
required=True
string='Backend'
args: 'se.backend'
batch_size
Integer
default=5000
help='Batch size for exporting element'
binding_todelete_ids
One2many → se.binding.todelete
comodel_name='se.binding.todelete'
inverse_name='index_id'
readonly=True
string='Bindings to delete'
config_id
Many2one → se.index.config
comodel_name='se.index.config'
help='Index configuration record'
string='Config'
custom_tech_name
Char
help="Take control of index technical name. The final index name is still computed and contains in any case: backend index name prefix and language if given. If no custom name is provided, model's normalized name will be used."
exporter_id
Many2one → ir.exports
string='Exporter'
args: 'ir.exports'
lang_id
Many2one → res.lang
required=False
string='Lang'
args: 'res.lang'
model_id
Many2one → ir.model
domain=<expr>
ondelete='cascade'
required=True
string='Model'
args: 'ir.model'
name
Char
compute='_compute_name'
store=True
batch_export(self, force_export=False)
clear_index(self)
delete_obsolete_item(self, item_ids)
export_all_settings(self)
export_settings(self)
force_batch_export(self)
force_recompute_all_binding(self)
generate_batch_export_per_index(self, domain=None)
onchange_model_id(self)
recompute_all_binding(self, force_export=False, batch_size=500)
recompute_all_index(self, domain=None)
resynchronize_all_bindings(self)
body_str
Text
compute='_compute_body_str'
default='{}'
inverse='_inverse_body_str'
tracking=True
name
Char
required=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/search-engine |
| GIT | |
| GIT | https://github.com/OCA/search-engine.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/search-engine/tree/14.0/connector_search_engine |
| VERSION | |
| VERSION | 2.9.0 |
| CATEGORY | |
| CATEGORY | Generic Modules |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| COMMITTERS | |
| COMMITTERS | GitHub, Denis Roussel, Ivàn Todorovich, Sébastien BEAU, oca-travis, Weblate, OCA-git-bot, Simone Orsi, hparfr, François Honoré, oca-ci, Héctor Villarreal Ortega, Héctor Vi Or, Florian Mounier, chafique.delli, Mmequignon |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/search-engine |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/connector: - connector - component - component_event OCA/queue: - queue_job OCA/server-env: - server_environment OCA/server-tools: - jsonifier odoo/odoo: - base - base_setup - web - bus - web_tour - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode requests cachetools |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
se_backend_form_view |
se.backend.form (in connector_search_engine) | se.backend | form | New |
se_backend_tree_view |
se.backend.tree (in connector_search_engine) | se.backend | tree | New |
se_index_config_form_view |
se.index.config.form (in connector_search_engine) | se.index.config | form | New |
se_index_config_tree_view |
se.index.config.tree (in connector_search_engine) | se.index.config | tree | New |
se_index_search_view |
se.index.search (in connector_search_engine) | se.index | search | New |
se_index_tree_no_backend_view |
se.index.tree with backend hidden (in connector_search_engine) | se.index | field | Inherits connector_search_engine.se_index_tree_view |
se_index_tree_view |
se.index.tree (in connector_search_engine) | se.index | tree | New |
index_ids
One2many → se.index
index_prefix_name
Char
help='Prefix for technical indexes tech name. You could use this to change index names based on current env.'
name
Char
required=True
specific_backend
Reference
compute='_compute_specific_backend'
readonly=True
selection='_select_specific_backend'
string='Specific backend'
specific_model
Selection
readonly=True
required=True
selection='_select_specific_model'
string='Type'
search_engine_name(self)
index_prefix_name
Char
readonly=False
related='se_backend_id.index_prefix_name'
se_backend_id
Many2one → se.backend
auto_join=True
comodel_name='se.backend'
delegate=True
index=True
ondelete='cascade'
required=True
create(self, vals)
unlink(self)
active
Boolean
default=True
string='Active'
data
Serialized
data_display
Text
compute='_compute_data_display'
help='Include this in debug mode to be able to inspect index data.'
date_modified
Datetime
readonly=True
date_syncronized
Datetime
readonly=True
index_id
Many2one → se.index
ondelete='cascade'
required=True
string='Index'
args: 'se.index'
se_backend_id
Many2one → se.backend
related='index_id.backend_id'
string='Search Engine Backend'
args: 'se.backend'
sync_state
Selection
default='new'
readonly=True
args: [('new', 'New'), ('to_update', 'To update'), ('scheduled', 'Scheduled'), ('done', 'Done'), ('to_be_checked', 'To be checked')]
create(self, vals)
get_export_data(self)
jobify_recompute_json(self, force_export=False, batch_size=500)
recompute_json(self, force_export=False)
synchronize(self)
unlink(self)
write(self, vals)
binding_id
Integer
required=True
string='Binding ID'
index_id
Many2one → se.index
ondelete='cascade'
required=True
string='Index'
args: 'se.index'
synchronize(self)
backend_id
Many2one → se.backend
ondelete='cascade'
required=True
string='Backend'
args: 'se.backend'
batch_size
Integer
default=5000
help='Batch size for exporting element'
binding_todelete_ids
One2many → se.binding.todelete
comodel_name='se.binding.todelete'
inverse_name='index_id'
readonly=True
string='Bindings to delete'
config_id
Many2one → se.index.config
comodel_name='se.index.config'
help='Index configuration record'
string='Config'
custom_tech_name
Char
help="Take control of index technical name. The final index name is still computed and contains in any case: backend index name prefix and language if given. If no custom name is provided, model's normalized name will be used."
exporter_id
Many2one → ir.exports
string='Exporter'
args: 'ir.exports'
lang_id
Many2one → res.lang
required=False
string='Lang'
args: 'res.lang'
model_id
Many2one → ir.model
domain=<expr>
ondelete='cascade'
required=True
string='Model'
args: 'ir.model'
name
Char
compute='_compute_name'
store=True
batch_export(self, force_export=False)
clear_index(self)
delete_obsolete_item(self, item_ids)
export_all_settings(self)
export_settings(self)
force_batch_export(self)
force_recompute_all_binding(self)
generate_batch_export_per_index(self, domain=None)
onchange_model_id(self)
recompute_all_binding(self, force_export=False, batch_size=500)
recompute_all_index(self, domain=None)
resynchronize_all_bindings(self)
body_str
Text
compute='_compute_body_str'
default='{}'
inverse='_inverse_body_str'
tracking=True
name
Char
required=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/search-engine |
| GIT | |
| GIT | https://github.com/OCA/search-engine.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/search-engine/tree/13.0/connector_search_engine |
| VERSION | |
| VERSION | 2.8.0 |
| CATEGORY | |
| CATEGORY | Generic Modules |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| COMMITTERS | |
| COMMITTERS | Laurent Mignon (ACSONE), Denis Roussel, Thomas Binsfeld, Sébastien BEAU, oca-travis, OCA-git-bot, Simone Orsi, Pierrick Brun, Laurent-Corron |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/search-engine |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:21 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/connector: - connector - component - component_event OCA/queue: - queue_job OCA/server-env: - server_environment OCA/server-tools: - base_jsonify odoo/odoo: - base - base_setup - web - bus - web_tour - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode requests cachetools |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
se_backend_form_view |
se.backend.form (in connector_search_engine) | se.backend | form | New |
se_backend_tree_view |
se.backend.tree (in connector_search_engine) | se.backend | tree | New |
se_index_config_form_view |
se.index.config.form (in connector_search_engine) | se.index.config | form | New |
se_index_config_tree_view |
se.index.config.tree (in connector_search_engine) | se.index.config | tree | New |
se_index_search_view |
se.index.search (in connector_search_engine) | se.index | search | New |
se_index_tree_no_backend_view |
se.index.tree with backend hidden (in connector_search_engine) | se.index | field | Inherits connector_search_engine.se_index_tree_view |
se_index_tree_view |
se.index.tree (in connector_search_engine) | se.index | tree | New |
index_ids
One2many → se.index
index_prefix_name
Char
help='Prefix for technical indexes tech name. You could use this to change index names based on current env.'
name
Char
required=True
specific_backend
Reference
compute='_compute_specific_backend'
readonly=True
selection='_select_specific_backend'
string='Specific backend'
specific_model
Selection
readonly=True
required=True
selection='_select_specific_model'
string='Type'
search_engine_name(self)
index_prefix_name
Char
readonly=False
related='se_backend_id.index_prefix_name'
se_backend_id
Many2one → se.backend
auto_join=True
comodel_name='se.backend'
delegate=True
index=True
ondelete='cascade'
required=True
create(self, vals)
unlink(self)
active
Boolean
default=True
string='Active'
data
Serialized
data_display
Text
compute='_compute_data_display'
help='Include this in debug mode to be able to inspect index data.'
date_modified
Date
readonly=True
date_syncronized
Date
readonly=True
index_id
Many2one → se.index
ondelete='cascade'
required=True
string='Index'
args: 'se.index'
se_backend_id
Many2one → se.backend
related='index_id.backend_id'
string='Search Engine Backend'
args: 'se.backend'
sync_state
Selection
default='new'
readonly=True
args: [('new', 'New'), ('to_update', 'To update'), ('scheduled', 'Scheduled'), ('done', 'Done'), ('to_be_checked', 'To be checked')]
create(self, vals)
get_export_data(self)
jobify_recompute_json(self, force_export=False)
recompute_json(self, force_export=False)
synchronize(self)
unlink(self)
write(self, vals)
backend_id
Many2one → se.backend
ondelete='cascade'
required=True
string='Backend'
args: 'se.backend'
batch_size
Integer
default=5000
help='Batch size for exporting element'
config_id
Many2one → se.index.config
comodel_name='se.index.config'
help='Index configuration record'
string='Config'
exporter_id
Many2one → ir.exports
string='Exporter'
args: 'ir.exports'
lang_id
Many2one → res.lang
required=True
string='Lang'
args: 'res.lang'
model_id
Many2one → ir.model
domain=<expr>
ondelete='cascade'
required=True
string='Model'
args: 'ir.model'
name
Char
compute='_compute_name'
batch_export(self, force_export=False)
clear_index(self)
delete_obsolete_item(self, item_ids)
export_all_settings(self)
export_settings(self)
force_batch_export(self)
force_recompute_all_binding(self)
generate_batch_export_per_index(self, domain=None)
onchange_model_id(self)
recompute_all_binding(self, force_export=False, batch_size=500)
recompute_all_index(self, domain=None)
resynchronize_all_bindings(self)
body_str
Text
compute='_compute_body_str'
default='{}'
inverse='_inverse_body_str'
name
Char
required=True
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/search-engine |
| GIT | |
| GIT | https://github.com/OCA/search-engine.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/search-engine/tree/12.0/connector_search_engine |
| VERSION | |
| VERSION | 3.2.1 |
| CATEGORY | |
| CATEGORY | Generic Modules |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| COMMITTERS | |
| COMMITTERS | Laurent Mignon (ACSONE), Sébastien BEAU, oca-travis, OCA-git-bot, Simone Orsi, hparfr |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/search-engine |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:25 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/connector: - connector - component - component_event OCA/queue: - queue_job OCA/server-env: - server_environment OCA/server-tools: - base_jsonify odoo/odoo: - base - base_setup - web - bus - web_tour - base_sparse_field |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode requests cachetools |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
se_backend_form_view |
se.backend.form (in connector_search_engine) | se.backend | form | New |
se_backend_tree_view |
se.backend.tree (in connector_search_engine) | se.backend | tree | New |
index_ids
One2many → se.index
index_prefix_name
Char
help='Prefix for technical indexes tech name. You could use this to change index names based on current env.'
name
Char
required=True
specific_backend
Reference
compute='_compute_specific_backend'
readonly=True
selection='_select_specific_backend'
string='Specific backend'
specific_model
Selection
readonly=True
required=True
selection='_select_specific_model'
string='Type'
tech_name
Char
help='Unique name for technical purposes. Eg: server env keys.'
required=True
create(self, vals)
search_engine_name(self)
se_backend_id
Many2one → se.backend
auto_join=True
comodel_name='se.backend'
delegate=True
index=True
ondelete='cascade'
required=True
create(self, vals)
unlink(self)
active
Boolean
default=True
string='Active'
data
Serialized
date_modified
Date
readonly=True
date_syncronized
Date
readonly=True
index_id
Many2one → se.index
ondelete='cascade'
required=True
string='Index'
args: 'se.index'
se_backend_id
Many2one → se.backend
related='index_id.backend_id'
string='Search Engine Backend'
args: 'se.backend'
sync_state
Selection
default='new'
readonly=True
args: [('new', 'New'), ('to_update', 'To update'), ('scheduled', 'Scheduled'), ('done', 'Done')]
create(self, vals)
get_export_data(self)
recompute_json(self, force_export=False)
synchronize(self)
unlink(self)
write(self, vals)
backend_id
Many2one → se.backend
ondelete='cascade'
required=True
string='Backend'
args: 'se.backend'
batch_size
Integer
default=5000
help='Batch size for exporting element'
exporter_id
Many2one → ir.exports
string='Exporter'
args: 'ir.exports'
lang_id
Many2one → res.lang
required=True
string='Lang'
args: 'res.lang'
model_id
Many2one → ir.model
domain=<expr>
required=True
string='Model'
args: 'ir.model'
name
Char
compute='_compute_name'
batch_export(self)
clear_index(self)
delete_obsolete_item(self, item_ids)
export_all_settings(self)
export_settings(self)
force_batch_export(self)
force_recompute_all_binding(self)
generate_batch_export_per_index(self, domain=None)
onchange_model_id(self)
recompute_all_binding(self, force_export=False, batch_size=500)
recompute_all_index(self, domain=None)
resynchronize_all_bindings(self)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/search-engine |
| GIT | |
| GIT | https://github.com/OCA/search-engine.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/search-engine/tree/10.0/connector_search_engine |
| VERSION | |
| VERSION | 2.0.0 |
| CATEGORY | |
| CATEGORY | Generic Modules |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Akretion, Camptocamp, ACSONE SA/NV |
| COMMITTERS | |
| COMMITTERS | GitHub, Cédric Pigeon, Laurent Mignon (ACSONE), Sébastien BEAU, Florian da Costa, beau sebastien, David Beal, oca-travis, OCA-git-bot, Simone Orsi, Mourad EL HADJ MIMOUNE, François Honoré |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/search-engine |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:20:03 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/connector: - connector - component - component_event OCA/queue: - queue_job OCA/server-tools: - base_jsonify odoo/odoo: - base - base_setup - web_kanban - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode requests cachetools |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
se_backend_form_view |
se.backend.form (in connector_search_engine) | se.backend | form | New |
se_backend_tree_view |
se.backend.tree (in connector_search_engine) | se.backend | tree | New |
index_ids
One2many → se.index
name
Char
required=False
specific_backend
Reference
compute='_compute_specific_backend'
readonly=True
selection='_select_specific_backend'
string='Specific backend'
specific_model
Selection
readonly=True
required=True
selection='_select_specific_model'
string='Type'
No public methods.
name
Char
related='se_backend_id.name'
required=False
store=True
se_backend_id
Many2one → se.backend
auto_join=True
comodel_name='se.backend'
delegate=True
index=True
ondelete='cascade'
required=True
create(self, vals)
onchange_backend_name(self)
unlink(self)
active
Boolean
default=True
string='Active'
data
Serialized
date_modified
Date
readonly=True
date_syncronized
Date
readonly=True
index_id
Many2one → se.index
ondelete='cascade'
required=True
string='Index'
args: 'se.index'
se_backend_id
Many2one → se.backend
related='index_id.backend_id'
args: 'se.backend'
sync_state
Selection
default='new'
readonly=True
args: [('new', 'New'), ('to_update', 'To update'), ('scheduled', 'Scheduled'), ('done', 'Done')]
create(self, vals)
get_export_data(self)
recompute_json(self, force_export=False)
synchronize(self)
unlink(self)
write(self, vals)
backend_id
Many2one → se.backend
ondelete='cascade'
required=True
string='Backend'
args: 'se.backend'
batch_size
Integer
default=5000
help='Batch size for exporting element'
exporter_id
Many2one → ir.exports
string='Exporter'
args: 'ir.exports'
lang_id
Many2one → res.lang
required=True
string='Lang'
args: 'res.lang'
model_id
Many2one → ir.model
domain=_get_model_domain
required=True
string='Model'
args: 'ir.model'
name
Char
compute='_compute_name'
store=True
batch_export(self)
clear_index(self)
delete_obsolete_item(self, item_ids)
force_batch_export(self)
force_recompute_all_binding(self)
generate_batch_export_per_index(self, domain=None)
onchange_model_id(self)
recompute_all_binding(self, force_export=False, batch_size=500)
recompute_all_index(self, domain=None)
resynchronize_all_bindings(self)