Opened 4 years ago

Closed 3 years ago

#3028 closed change (fixed)

Set Elasticsearch mapping (schema) to strings not_analyzed

Reported by: Kirill Assignee:
Priority: Unknown Milestone:
Module: Infrastructure Keywords:
Cc: matze, sporz Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: no Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

Description

Elasticsearch per default analyzes strings before indexing them. It means it breaks the strings in tokens first, then indexing them. This makes aggregations impossible, e.g. count by OS would result in:

Windows 1000
7 500
8 500
Linux 100
Mint 100

instead of

Windows 7 500
windows 8 500
linux mint 100

Furthermore I could imagine that is is more performant to not analyze the string.

I suggest to set all strings to not_analyzed.

Quick Start (hope it helps):

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-core-types.html#string

https://www.elastic.co/guide/en/elasticsearch/guide/current/mapping-intro.html

https://www.elastic.co/blog/changing-mapping-with-zero-downtime

Change History (1)

comment:1 Changed 3 years ago by matze

  • Resolution set to fixed
  • Status changed from new to closed

Obsolete since we do not plan to use ElasticSearch any further for now.

Note: See TracTickets for help on using tickets.