Skip to content
Snippets Groups Projects
Commit 6f149bec authored by Nick Thomas's avatar Nick Thomas
Browse files

Add analysers to the Elasticsearch index

parent e9abdd57
No related branches found
No related tags found
1 merge request!1Initial implementation of an elasticsearch indexer in Go
Pipeline #
Loading
Loading
@@ -6,20 +6,126 @@ import (
 
var indexMapping = `
{
"mappings": {
"snippet": {
"properties": {
"author_id": {
"type": "integer"
"settings": {
"index": {
"analysis": {
"filter": {
"my_stemmer": {
"name": "light_english",
"type": "stemmer"
},
"code": {
"type": "pattern_capture",
"preserve_original": "1",
"patterns": [
"(\\p{Ll}+|\\p{Lu}\\p{Ll}+|\\p{Lu}+)",
"(\\d+)"
]
}
},
"content": {
"type": "text",
"index_options": "offsets"
"char_filter": {
"code_mapping": {
"type": "mapping",
"mappings": [
". => ' '"
]
}
},
"analyzer": {
"default": {
"filter": [
"standard",
"lowercase",
"my_stemmer"
],
"tokenizer": "standard"
},
"code_search_analyzer": {
"filter": [
"lowercase",
"asciifolding"
],
"char_filter": [
"code_mapping"
],
"type": "custom",
"tokenizer": "standard"
},
"path_analyzer": {
"filter": [
"lowercase",
"asciifolding"
],
"type": "custom",
"tokenizer": "path_tokenizer"
},
"sha_analyzer": {
"filter": [
"lowercase",
"asciifolding"
],
"type": "custom",
"tokenizer": "sha_tokenizer"
},
"code_analyzer": {
"filter": [
"code",
"lowercase",
"asciifolding"
],
"char_filter": [
"code_mapping"
],
"type": "custom",
"tokenizer": "standard"
},
"my_ngram_analyzer": {
"filter": [
"lowercase"
],
"tokenizer": "my_ngram_tokenizer"
}
},
"tokenizer": {
"my_ngram_tokenizer": {
"token_chars": [
"letter",
"digit"
],
"min_gram": "2",
"type": "nGram",
"max_gram": "3"
},
"sha_tokenizer": {
"token_chars": [
"letter",
"digit"
],
"min_gram": "5",
"type": "edgeNGram",
"max_gram": "40"
},
"path_tokenizer": {
"reverse": "true",
"type": "path_hierarchy"
}
}
},
}
},
"mappings": {
"milestone": {
"_parent": {
"type": "project"
},
"_routing": {
"required": true
},
"properties": {
"created_at": {
"type": "date"
},
"file_name": {
"description": {
"type": "text",
"index_options": "offsets"
},
Loading
Loading
@@ -29,18 +135,12 @@ var indexMapping = `
"project_id": {
"type": "integer"
},
"state": {
"type": "text"
},
"title": {
"type": "text",
"index_options": "offsets"
},
"updated_at": {
"type": "date"
},
"visibility_level": {
"type": "integer"
}
}
},
Loading
Loading
@@ -75,105 +175,17 @@ var indexMapping = `
"type": "text",
"index_options": "offsets"
},
"project_id": {
"type": "integer"
},
"updated_at": {
"type": "date"
}
}
},
"issue": {
"_parent": {
"type": "project"
},
"_routing": {
"required": true
},
"properties": {
"assignee_id": {
"type": "integer"
},
"author_id": {
"type": "integer"
},
"confidential": {
"type": "boolean"
},
"created_at": {
"type": "date"
},
"description": {
"type": "text",
"index_options": "offsets"
},
"id": {
"noteable_id": {
"type": "integer"
},
"iid": {
"type": "integer"
"noteable_type": {
"type": "keyword"
},
"project_id": {
"type": "integer"
},
"state": {
"type": "text"
},
"title": {
"type": "text",
"index_options": "offsets"
},
"updated_at": {
"type": "date"
}
}
},
"project": {
"properties": {
"archived": {
"type": "boolean"
},
"created_at": {
"type": "date"
},
"description": {
"type": "text",
"index_options": "offsets"
},
"id": {
"type": "integer"
},
"last_activity_at": {
"type": "date"
},
"last_pushed_at": {
"type": "date"
},
"name": {
"type": "text",
"index_options": "offsets"
},
"name_with_namespace": {
"type": "text",
"index_options": "offsets",
"analyzer": "my_ngram_analyzer"
},
"namespace_id": {
"type": "integer"
},
"path": {
"type": "text",
"index_options": "offsets"
},
"path_with_namespace": {
"type": "text",
"index_options": "offsets"
},
"updated_at": {
"type": "date"
},
"visibility_level": {
"type": "integer"
}
}
},
Loading
Loading
@@ -280,7 +292,7 @@ var indexMapping = `
}
}
},
"merge_request": {
"issue": {
"_parent": {
"type": "project"
},
Loading
Loading
@@ -288,9 +300,15 @@ var indexMapping = `
"required": true
},
"properties": {
"assignee_id": {
"type": "integer"
},
"author_id": {
"type": "integer"
},
"confidential": {
"type": "boolean"
},
"created_at": {
"type": "date"
},
Loading
Loading
@@ -304,26 +322,12 @@ var indexMapping = `
"iid": {
"type": "integer"
},
"merge_status": {
"type": "text"
},
"source_branch": {
"type": "text",
"index_options": "offsets"
},
"source_project_id": {
"project_id": {
"type": "integer"
},
"state": {
"type": "text"
},
"target_branch": {
"type": "text",
"index_options": "offsets"
},
"target_project_id": {
"type": "integer"
},
"title": {
"type": "text",
"index_options": "offsets"
Loading
Loading
@@ -333,7 +337,7 @@ var indexMapping = `
}
}
},
"milestone": {
"merge_request": {
"_parent": {
"type": "project"
},
Loading
Loading
@@ -341,6 +345,9 @@ var indexMapping = `
"required": true
},
"properties": {
"author_id": {
"type": "integer"
},
"created_at": {
"type": "date"
},
Loading
Loading
@@ -351,7 +358,27 @@ var indexMapping = `
"id": {
"type": "integer"
},
"project_id": {
"iid": {
"type": "integer"
},
"merge_status": {
"type": "text"
},
"source_branch": {
"type": "text",
"index_options": "offsets"
},
"source_project_id": {
"type": "integer"
},
"state": {
"type": "text"
},
"target_branch": {
"type": "text",
"index_options": "offsets"
},
"target_project_id": {
"type": "integer"
},
"title": {
Loading
Loading
@@ -514,6 +541,107 @@ var indexMapping = `
}
}
}
},
"project": {
"properties": {
"archived": {
"type": "boolean"
},
"created_at": {
"type": "date"
},
"description": {
"type": "text",
"index_options": "offsets"
},
"id": {
"type": "integer"
},
"issues_access_level": {
"type": "integer"
},
"last_activity_at": {
"type": "date"
},
"last_pushed_at": {
"type": "date"
},
"merge_requests_access_level": {
"type": "integer"
},
"name": {
"type": "text",
"index_options": "offsets"
},
"name_with_namespace": {
"type": "text",
"index_options": "offsets",
"analyzer": "my_ngram_analyzer"
},
"namespace_id": {
"type": "integer"
},
"path": {
"type": "text",
"index_options": "offsets"
},
"path_with_namespace": {
"type": "text",
"index_options": "offsets"
},
"repository_access_level": {
"type": "integer"
},
"snippets_access_level": {
"type": "integer"
},
"updated_at": {
"type": "date"
},
"visibility_level": {
"type": "integer"
},
"wiki_access_level": {
"type": "integer"
}
}
},
"snippet": {
"properties": {
"author_id": {
"type": "integer"
},
"content": {
"type": "text",
"index_options": "offsets"
},
"created_at": {
"type": "date"
},
"file_name": {
"type": "text",
"index_options": "offsets"
},
"id": {
"type": "integer"
},
"project_id": {
"type": "integer"
},
"state": {
"type": "text"
},
"title": {
"type": "text",
"index_options": "offsets"
},
"updated_at": {
"type": "date"
},
"visibility_level": {
"type": "integer"
}
}
}
}
}
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment