From 17a14d5f90c2e3d46e54d01ae2af2aa392c6f413 Mon Sep 17 00:00:00 2001 From: Julian Maurice Date: Thu, 25 Jun 2020 11:25:41 +0400 Subject: [PATCH] Bug 25873: Ignore malformed data for Elasticsearch integer fields If we try to put malformed data into an integer field, Elasticsearch rejects the whole document. Setting 'ignore_malformed' to true allows to ignore malformed data and process the other fields of the document normally https://www.elastic.co/guide/en/elasticsearch/reference/7.8/ignore-malformed.html Test plan: * Without the patch 1. In search engine configuration, change the type of a text field to 'Number' (for instance 'title') 2. misc/search_tools/rebuild_elasticsearch.pl -d -b 3. See that the index is empty (unless you have titles consisting only of digits) * With the patch 1. misc/search_tools/rebuild_elasticsearch.pl -d -b 2. Now records are correctly indexed --- admin/searchengine/elasticsearch/field_config.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/admin/searchengine/elasticsearch/field_config.yaml b/admin/searchengine/elasticsearch/field_config.yaml index 8723a0713c..82793ff421 100644 --- a/admin/searchengine/elasticsearch/field_config.yaml +++ b/admin/searchengine/elasticsearch/field_config.yaml @@ -24,6 +24,7 @@ search: integer: type: integer null_value: 0 + ignore_malformed: true stdno: type: text analyzer: analyzer_stdno -- 2.20.1