summaryrefslogtreecommitdiffstats
path: root/einterfaces
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2017-05-18 16:26:52 +0100
committerHarrison Healey <harrisonmhealey@gmail.com>2017-05-18 11:26:52 -0400
commit0db5e3922fd5045b3f7f518ad65e42138f0325c4 (patch)
treee225a7191de7915a3da3716601ddb415c4f26979 /einterfaces
parent2bbedd9def2a782f370fb5280994ea0ecbf8a7c7 (diff)
downloadchat-0db5e3922fd5045b3f7f518ad65e42138f0325c4.tar.gz
chat-0db5e3922fd5045b3f7f518ad65e42138f0325c4.tar.bz2
chat-0db5e3922fd5045b3f7f518ad65e42138f0325c4.zip
PLT-6472: Basic Elastic Search implementation. (#6382)
* PLT-6472: Basic Elastic Search implementation. This currently supports indexing of posts at create/update/delete time. It does not support batch indexing or reindexing, and does not support any entities other than posts yet. The purpose is to more-or-less replicate the existing full-text search feature but with some of the immediate benefits of using elastic search. * Alter settings for AWS compatability. * Remove unneeded i18n strings.
Diffstat (limited to 'einterfaces')
-rw-r--r--einterfaces/elasticsearch.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/einterfaces/elasticsearch.go b/einterfaces/elasticsearch.go
new file mode 100644
index 000000000..61e1d532f
--- /dev/null
+++ b/einterfaces/elasticsearch.go
@@ -0,0 +1,23 @@
+// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+package einterfaces
+
+import "github.com/mattermost/platform/model"
+
+type ElasticSearchInterface interface {
+ Start() *model.AppError
+ IndexPost(post *model.Post, teamId string)
+ SearchPosts(channels *model.ChannelList, searchParams []*model.SearchParams) ([]string, *model.AppError)
+ DeletePost(postId string)
+}
+
+var theElasticSearchInterface ElasticSearchInterface
+
+func RegisterElasticSearchInterface(newInterface ElasticSearchInterface) {
+ theElasticSearchInterface = newInterface
+}
+
+func GetElasticSearchInterface() ElasticSearchInterface {
+ return theElasticSearchInterface
+}