============ Fuzzy Search ============ .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:12e3790b9d26db0690cd28aa182c4d3c923d8be8fee900e2deb9d95105f0b280 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github :target: https://github.com/OCA/server-tools/tree/16.0/base_search_fuzzy :alt: OCA/server-tools .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/server-tools-16-0/server-tools-16-0-base_search_fuzzy :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png :target: https://runboat.odoo-community.org/builds?repo=OCA/server-tools&target_branch=16.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| This addon provides the ability to create GIN or GiST indexes of char and text fields and also to use the search operator `%` in search domains. Currently this module doesn't change the backend search or anything else. It provides only the possibility to perform the fuzzy search for external addons. **Table of contents** .. contents:: :local: Installation ============ #. The PostgreSQL extension ``pg_trgm`` should be available. In debian based distribution you have to install the `postgresql-contrib` module. #. Install the ``pg_trgm`` extension to your database or give your postgresql user the ``SUPERUSER`` right (this allows the odoo module to install the extension to the database). Configuration ============= If the odoo module is installed: #. You can define ``GIN`` and ``GiST`` indexes for `char` and `text` via `Settings -> Database Structure -> Trigram Index`. The index name will automatically created for new entries. Usage ===== #. You can create an index for the `name` field of `res.partner`. #. In the search you can use: ``self.env['res.partner'].search([('name', '%', 'Jon Miller)])`` #. In this example the function will return positive result for `John Miller` or `John Mill`. #. You can tweak the number of strings to be returned by adjusting the set limit (default: 0.3). NB: Currently you have to set the limit by executing the following SQL statement: ``self.env.cr.execute("SELECT set_limit(0.2);")`` For further questions read the Documentation of the `pg_trgm `_ module. Usage with demo data ==================== There are some demo data that allow you to test functionally this module if you are in a **demo** database. The steps are the following: #. Go to *Contacts* and type the text **Jon Smith** or **Smith John** in the search box and select **Search Display Name for: ...** #. You will see two contacts, and they are the ones with display names **John Smith** and **John Smizz**. Known issues / Roadmap ====================== * Modify the general search parts (e.g. in tree view or many2one fields) * Add better `order by` handling * This module will not be necessary from version 16 (`[IMP] Better handling of indexes #83015 `_) Bug Tracker =========== Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed `feedback `_. Do not contact contributors directly about support or help with technical issues. Credits ======= Authors ~~~~~~~ * bloopark systems GmbH & Co. KG * ForgeFlow * Serpent CS Contributors ~~~~~~~~~~~~ * Christoph Giesel * Jordi Ballester * Serpent Consulting Services Pvt. Ltd. * Dave Lasley * `Tecnativa `_: * Vicent Cubells * Ernesto Tejeda * teodoralexandru@nexterp.ro 2020 NextERP SRL. * Daniel Reis * Nikul Chaudhary Maintainers ~~~~~~~~~~~ This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. This module is part of the `OCA/server-tools `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.