X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/3bf3b894eaddd4f17f7e92353af6b2aa6200ab20..4825a0bda3e2b5d6a9c153b7cd0b8da2959cbc81:/docs/customize/Tokenizers.md?ds=sidebyside diff --git a/docs/customize/Tokenizers.md b/docs/customize/Tokenizers.md index c563b201..30be170e 100644 --- a/docs/customize/Tokenizers.md +++ b/docs/customize/Tokenizers.md @@ -15,48 +15,6 @@ they can be configured. chosen tokenizer is very limited as well. See the comments in each tokenizer section. -## Legacy tokenizer - -The legacy tokenizer implements the analysis algorithms of older Nominatim -versions. It uses a special Postgresql module to normalize names and queries. -This tokenizer is automatically installed and used when upgrading an older -database. It should not be used for new installations anymore. - -### Compiling the PostgreSQL module - -The tokeinzer needs a special C module for PostgreSQL which is not compiled -by default. If you need the legacy tokenizer, compile Nominatim as follows: - -``` -mkdir build -cd build -cmake -DBUILD_MODULE=on -make -``` - -### Enabling the tokenizer - -To enable the tokenizer add the following line to your project configuration: - -``` -NOMINATIM_TOKENIZER=legacy -``` - -The Postgresql module for the tokenizer is available in the `module` directory -and also installed with the remainder of the software under -`lib/nominatim/module/nominatim.so`. You can specify a custom location for -the module with - -``` -NOMINATIM_DATABASE_MODULE_PATH= -``` - -This is in particular useful when the database runs on a different server. -See [Advanced installations](../admin/Advanced-Installations.md#importing-nominatim-to-an-external-postgresql-database) for details. - -There are no other configuration options for the legacy tokenizer. All -normalization functions are hard-coded. - ## ICU tokenizer The ICU tokenizer uses the [ICU library](http://site.icu-project.org/) to @@ -102,7 +60,7 @@ Here is an example configuration file: ``` yaml normalization: - ":: lower ()" - - "ß > 'ss'" # German szet is unimbigiously equal to double ss + - "ß > 'ss'" # German szet is unambiguously equal to double ss transliteration: - !include /etc/nominatim/icu-rules/extended-unicode-to-asccii.yaml - ":: Ascii ()" @@ -128,7 +86,7 @@ The configuration file contains four sections: The normalization and transliteration sections each define a set of ICU rules that are applied to the names. -The **normalisation** rules are applied after sanitation. They should remove +The **normalization** rules are applied after sanitation. They should remove any information that is not relevant for search at all. Usual rules to be applied here are: lower-casing, removing of special characters, cleanup of spaces. @@ -175,44 +133,67 @@ The following is a list of sanitizers that are shipped with Nominatim. ##### split-name-list -::: nominatim.tokenizer.sanitizers.split_name_list - selection: +::: nominatim_db.tokenizer.sanitizers.split_name_list + options: members: False - rendering: heading_level: 6 + docstring_section_style: spacy ##### strip-brace-terms -::: nominatim.tokenizer.sanitizers.strip_brace_terms - selection: +::: nominatim_db.tokenizer.sanitizers.strip_brace_terms + options: members: False - rendering: heading_level: 6 + docstring_section_style: spacy ##### tag-analyzer-by-language -::: nominatim.tokenizer.sanitizers.tag_analyzer_by_language - selection: +::: nominatim_db.tokenizer.sanitizers.tag_analyzer_by_language + options: members: False - rendering: heading_level: 6 + docstring_section_style: spacy ##### clean-housenumbers -::: nominatim.tokenizer.sanitizers.clean_housenumbers - selection: +::: nominatim_db.tokenizer.sanitizers.clean_housenumbers + options: members: False - rendering: heading_level: 6 + docstring_section_style: spacy ##### clean-postcodes -::: nominatim.tokenizer.sanitizers.clean_postcodes - selection: +::: nominatim_db.tokenizer.sanitizers.clean_postcodes + options: + members: False + heading_level: 6 + docstring_section_style: spacy + +##### clean-tiger-tags + +::: nominatim_db.tokenizer.sanitizers.clean_tiger_tags + options: members: False - rendering: heading_level: 6 + docstring_section_style: spacy +#### delete-tags + +::: nominatim_db.tokenizer.sanitizers.delete_tags + options: + members: False + heading_level: 6 + docstring_section_style: spacy + +#### tag-japanese + +::: nominatim_db.tokenizer.sanitizers.tag_japanese + options: + members: False + heading_level: 6 + docstring_section_style: spacy #### Token Analysis @@ -371,7 +352,7 @@ The analyzer cannot be customized. ##### Postcode token analyzer The analyzer `postcodes` is pupose-made to analyze postcodes. It supports -a 'lookup' varaint of the token, which produces variants with optional +a 'lookup' variant of the token, which produces variants with optional spaces. Use together with the clean-postcodes sanitizer. The analyzer cannot be customized.