[MM-20979] Add first implementation of the Bleve search engine (#14562)
* [MM-20979] Add first implementation of the Bleve search engine * Fix i18n * Migrate searchengine utils tests * Fix linter * Don't add allTermsQ if both termQueries and notTermQueries are empty * Fix test that should work if user is system admin * Modify naming according to review comments * Abstract getIndexDir function * Extracting bleve engine name as a constant * Merge both Indexer interfaces into one * Add worker stopped message * Allow worker to be started/stopped with config change * Use constants for index names * Modify test order * Fix linter * Trying to unlock the CI
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
8d0343d2eb
Коммит
0154b8059b
@@ -30,12 +30,12 @@ var searchChannelStoreTests = []searchTest{
|
||||
{
|
||||
Name: "Should be able to autocomplete a channel by a part of its name when has parts splitted by _ character",
|
||||
Fn: testAutocompleteChannelByNameSplittedWithUnderscoreChar,
|
||||
Tags: []string{ENGINE_MYSQL, ENGINE_ELASTICSEARCH},
|
||||
Tags: []string{ENGINE_MYSQL, ENGINE_ELASTICSEARCH, ENGINE_BLEVE},
|
||||
},
|
||||
{
|
||||
Name: "Should be able to autocomplete a channel by a part of its display name when has parts splitted by whitespace character",
|
||||
Fn: testAutocompleteChannelByDisplayNameSplittedByWhitespaces,
|
||||
Tags: []string{ENGINE_MYSQL, ENGINE_ELASTICSEARCH},
|
||||
Tags: []string{ENGINE_MYSQL, ENGINE_ELASTICSEARCH, ENGINE_BLEVE},
|
||||
},
|
||||
{
|
||||
Name: "Should be able to autocomplete retrieving all channels if the term is empty",
|
||||
|
||||
@@ -26,7 +26,7 @@ var searchPostStoreTests = []searchTest{
|
||||
{
|
||||
Name: "Should be able to search for exact phrases in quotes",
|
||||
Fn: testSearchExactPhraseInQuotes,
|
||||
Tags: []string{ENGINE_ALL},
|
||||
Tags: []string{ENGINE_POSTGRES, ENGINE_MYSQL, ENGINE_ELASTICSEARCH},
|
||||
},
|
||||
{
|
||||
Name: "Should be able to search for email addresses with or without quotes",
|
||||
@@ -69,8 +69,8 @@ var searchPostStoreTests = []searchTest{
|
||||
Tags: []string{ENGINE_ALL},
|
||||
},
|
||||
{
|
||||
Name: "Should be able to filter messages written on a specific date",
|
||||
Fn: testFilterMessagesInSpecificDate,
|
||||
Name: "Should be able to filter messages written after a specific date",
|
||||
Fn: testFilterMessagesAfterSpecificDate,
|
||||
Tags: []string{ENGINE_ALL},
|
||||
},
|
||||
{
|
||||
@@ -79,8 +79,8 @@ var searchPostStoreTests = []searchTest{
|
||||
Tags: []string{ENGINE_ALL},
|
||||
},
|
||||
{
|
||||
Name: "Should be able to filter messages written after a specific date",
|
||||
Fn: testFilterMessagesAfterSpecificDate,
|
||||
Name: "Should be able to filter messages written on a specific date",
|
||||
Fn: testFilterMessagesInSpecificDate,
|
||||
Tags: []string{ENGINE_ALL},
|
||||
},
|
||||
{
|
||||
@@ -111,7 +111,7 @@ var searchPostStoreTests = []searchTest{
|
||||
{
|
||||
Name: "Should support search with wildcards",
|
||||
Fn: testSupportWildcards,
|
||||
Tags: []string{ENGINE_ALL},
|
||||
Tags: []string{ENGINE_POSTGRES, ENGINE_MYSQL, ENGINE_ELASTICSEARCH},
|
||||
},
|
||||
{
|
||||
Name: "Should not support search with preceding wildcards",
|
||||
|
||||
@@ -15,6 +15,7 @@ const (
|
||||
ENGINE_MYSQL = "mysql"
|
||||
ENGINE_POSTGRES = "postgres"
|
||||
ENGINE_ELASTICSEARCH = "elasticsearch"
|
||||
ENGINE_BLEVE = "bleve"
|
||||
)
|
||||
|
||||
type SearchTestEngine struct {
|
||||
|
||||
@@ -20,12 +20,12 @@ var searchUserStoreTests = []searchTest{
|
||||
{
|
||||
Name: "Should honor channel restrictions when autocompleting users",
|
||||
Fn: testHonorChannelRestrictionsAutocompletingUsers,
|
||||
Tags: []string{ENGINE_ELASTICSEARCH},
|
||||
Tags: []string{ENGINE_ELASTICSEARCH, ENGINE_BLEVE},
|
||||
},
|
||||
{
|
||||
Name: "Should honor team restrictions when autocompleting users",
|
||||
Fn: testHonorTeamRestrictionsAutocompletingUsers,
|
||||
Tags: []string{ENGINE_ELASTICSEARCH},
|
||||
Tags: []string{ENGINE_ELASTICSEARCH, ENGINE_BLEVE},
|
||||
},
|
||||
{
|
||||
Name: "Should return nothing if the user can't access the channels of a given search",
|
||||
@@ -69,17 +69,17 @@ var searchUserStoreTests = []searchTest{
|
||||
{
|
||||
Name: "Should be able to autocomplete a user by part of its username splitted by Dot",
|
||||
Fn: testAutocompleteUserByUsernameWithDot,
|
||||
Tags: []string{ENGINE_ELASTICSEARCH},
|
||||
Tags: []string{ENGINE_ELASTICSEARCH, ENGINE_BLEVE},
|
||||
},
|
||||
{
|
||||
Name: "Should be able to autocomplete a user by part of its username splitted by underscore",
|
||||
Fn: testAutocompleteUserByUsernameWithUnderscore,
|
||||
Tags: []string{ENGINE_ELASTICSEARCH},
|
||||
Tags: []string{ENGINE_ELASTICSEARCH, ENGINE_BLEVE},
|
||||
},
|
||||
{
|
||||
Name: "Should be able to autocomplete a user by part of its username splitted by hyphen",
|
||||
Fn: testAutocompleteUserByUsernameWithHyphen,
|
||||
Tags: []string{ENGINE_ELASTICSEARCH},
|
||||
Tags: []string{ENGINE_ELASTICSEARCH, ENGINE_BLEVE},
|
||||
},
|
||||
{
|
||||
Name: "Should escape the percentage character",
|
||||
|
||||
Ссылка в новой задаче
Block a user