Elasticsearch v6 - migrate from parent/child relationships to joins
-
Review changes -
-
Download -
Patches
-
Plain diff
Merged
Elasticsearch v6 - migrate from parent/child relationships to joins
elasticsearch_v6
into
master
1 unresolved thread
1 unresolved thread
What does this MR do?
Since ES6 only allows one mapping type per index and we need to have documents in a single index in order to use join datatypes, I had to make quite a few changes to how we deal with elasticsearch in the codebase:
- I changed all our document types to be
doc
- In order to still be able to query per type, I implemented a custom type field in our elasticsearch documents, called simply
type
- The join type was created granularly, that is to say, it has a mapping per type: project->issue, project->blob, etc.
- We now use an
es_id
for elasticsearch's_id
field. This is comprised of the model class name and the ID in the database - Because of the
es_id
change a lot of changes were required to theelasticsearch-model
gem. These changes have been encapsulated in theee/lib/gem_extensions
folder and are injected inside the elasticsearch client initializer.
Breaking changes
We can no longer support Elasticsearch versions under 5.6
. This is because the join
field is only supported from versions 5.6 and upwards.
Wiki searches now must use a new type: wiki_blob
. I've edited existing usages in the codebase but this is good to keep in mind
What are the relevant issue numbers?
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
Tests added for this feature/bug -
Conforms to the code review guidelines -
Conforms to the merge request performance guidelines -
Conforms to the style guides -
Conforms to the database guides -
EE specific content should be in the top level /ee
folder -
For a paid feature, have we considered GitLab.com plans, how it works for groups, and is there a design for promoting it to users who aren't on the correct plan?
Closes #4218 (closed)
Edited by Nick Thomas
Merge request reports
Compare and
Show latest version
- version 28c622269f
- version 2720218b2e
- version 268dde7e34
- version 2530b4648c
- version 24558aa0d3
- version 231cb6bc0d
- version 22596a8abd
- version 217f74d658
- version 2041fb9030
- version 197f56345d
- version 187f56345d
- version 1796a6a35d
- version 165e7066a6
- version 1570ee09fa
- version 14fbe09db1
- version 13412d7341
- version 12fbe09db1
- version 11c5230573
- version 100be7c627
- version 97c5b7cf2
- version 84bd2404a
- version 79267cded
- version 665e9fff0
- version 54f1a443a
- version 4a84681ec
- version 3bb3e061b
- version 2a1f16a01
- version 13d69dfc9
- master (base)
- latest versionb2303efe5 commits,
- version 28c622269f4 commits,
- version 2720218b2e3 commits,
- version 268dde7e343 commits,
- version 2530b4648c3 commits,
- version 24558aa0d33 commits,
- version 231cb6bc0d3 commits,
- version 22596a8abd3 commits,
- version 217f74d6583 commits,
- version 2041fb90303 commits,
- version 197f56345d3 commits,
- version 187f56345d3 commits,
- version 1796a6a35d3 commits,
- version 165e7066a63 commits,
- version 1570ee09fa3 commits,
- version 14fbe09db12 commits,
- version 13412d73413 commits,
- version 12fbe09db12 commits,
- version 11c52305732 commits,
- version 100be7c6272 commits,
- version 97c5b7cf22 commits,
- version 84bd2404a2 commits,
- version 79267cded8 commits,
- version 665e9fff07 commits,
- version 54f1a443a6 commits,
- version 4a84681ec5 commits,
- version 3bb3e061b4 commits,
- version 2a1f16a014 commits,
- version 13d69dfc93 commits,
Compare changes
- Side-by-side
- Inline
There are no changes yet
No changes between version 8 and version 8
Loading