Skip to content

Commit

Permalink
Revert "Fix/elasticsearch plugin ci failure (#297)"
Browse files Browse the repository at this point in the history
This reverts commit 866f93b.
  • Loading branch information
kmycode committed Nov 20, 2023
1 parent 49317a7 commit d152676
Show file tree
Hide file tree
Showing 5 changed files with 216 additions and 32 deletions.
3 changes: 3 additions & 0 deletions .env.test
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,7 @@ NODE_ENV=production
LOCAL_DOMAIN=cb6e6126.ngrok.io
LOCAL_HTTPS=true
# Elasticsearch
ES_ENABLED=false
ES_HOST=localhost
ES_PORT=9200
ES_PREFIX=test
39 changes: 13 additions & 26 deletions .github/workflows/test-ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,19 @@ jobs:
ports:
- 6379:6379

search:
image: ${{ matrix.search-image }}
env:
discovery.type: single-node
xpack.security.enabled: false
options: >-
--health-cmd "curl http://localhost:9200/_cluster/health"
--health-interval 10s
--health-timeout 5s
--health-retries 10
ports:
- 9200:9200

env:
DB_HOST: localhost
DB_USER: postgres
Expand Down Expand Up @@ -300,32 +313,6 @@ jobs:
- name: Set up Javascript environment
uses: ./.github/actions/setup-javascript

- name: Configure sysctl limits
run: |
sudo swapoff -a
sudo sysctl -w vm.swappiness=1
sudo sysctl -w fs.file-max=262144
sudo sysctl -w vm.max_map_count=262144
- name: Install Elasticsearch
run: |
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.10-amd64.deb
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.10-amd64.deb.sha512
shasum -a 512 -c elasticsearch-7.17.10-amd64.deb.sha512
sudo dpkg -i elasticsearch-7.17.10-amd64.deb
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/WorksApplications/elasticsearch-sudachi/releases/download/v3.1.0/elasticsearch-7.17.10-analysis-sudachi-3.1.0.zip
- name: Install dictionary
run: |
wget http://sudachi.s3-website-ap-northeast-1.amazonaws.com/sudachidict/sudachi-dictionary-latest-core.zip
unzip sudachi-dictionary-latest-core.zip
sudo mkdir /etc/elasticsearch/sudachi -p
sudo cp sudachi-dictionary-*/system_core.dic /etc/elasticsearch/sudachi
- name: Running Elasticsearch
run: |
sudo systemctl start elasticsearch
- name: Load database schema
run: './bin/rails db:create db:schema:load db:seed'

Expand Down
71 changes: 69 additions & 2 deletions app/chewy/accounts_index.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,72 @@
# frozen_string_literal: true

class AccountsIndex < Chewy::Index
settings index: index_preset(refresh_interval: '30s'), analysis: {
DEVELOPMENT_SETTINGS = {
filter: {
english_stop: {
type: 'stop',
stopwords: '_english_',
},

english_stemmer: {
type: 'stemmer',
language: 'english',
},

english_possessive_stemmer: {
type: 'stemmer',
language: 'possessive_english',
},
},

analyzer: {
natural: {
tokenizer: 'standard',
filter: %w(
lowercase
asciifolding
cjk_width
elision
english_possessive_stemmer
english_stop
english_stemmer
),
},

sudachi_analyzer: {
tokenizer: 'standard',
filter: %w(
lowercase
asciifolding
cjk_width
elision
english_possessive_stemmer
english_stop
english_stemmer
),
},

verbatim: {
tokenizer: 'standard',
filter: %w(lowercase asciifolding cjk_width),
},

edge_ngram: {
tokenizer: 'edge_ngram',
filter: %w(lowercase asciifolding cjk_width),
},
},

tokenizer: {
edge_ngram: {
type: 'edge_ngram',
min_gram: 1,
max_gram: 15,
},
},
}.freeze

PRODUCTION_SETTINGS = {
filter: {
english_stop: {
type: 'stop',
Expand Down Expand Up @@ -77,7 +142,9 @@ class AccountsIndex < Chewy::Index
discard_punctuation: 'true',
},
},
}
}.freeze

settings index: index_preset(refresh_interval: '30s'), analysis: Rails.env.test? ? DEVELOPMENT_SETTINGS : PRODUCTION_SETTINGS

index_scope ::Account.searchable.includes(:account_stat)

Expand Down
68 changes: 66 additions & 2 deletions app/chewy/public_statuses_index.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,69 @@
# frozen_string_literal: true

class PublicStatusesIndex < Chewy::Index
settings index: index_preset(refresh_interval: '30s', number_of_shards: 5), analysis: {
DEVELOPMENT_SETTINGS = {
filter: {
english_stop: {
type: 'stop',
stopwords: '_english_',
},

english_stemmer: {
type: 'stemmer',
language: 'english',
},

english_possessive_stemmer: {
type: 'stemmer',
language: 'possessive_english',
},
},

analyzer: {
verbatim: {
tokenizer: 'uax_url_email',
filter: %w(lowercase),
},

content: {
tokenizer: 'standard',
filter: %w(
lowercase
asciifolding
cjk_width
elision
english_possessive_stemmer
english_stop
english_stemmer
),
},

sudachi_analyzer: {
tokenizer: 'standard',
filter: %w(
lowercase
asciifolding
cjk_width
elision
english_possessive_stemmer
english_stop
english_stemmer
),
},

hashtag: {
tokenizer: 'keyword',
filter: %w(
word_delimiter_graph
lowercase
asciifolding
cjk_width
),
},
},
}.freeze

PRODUCTION_SETTINGS = {
filter: {
english_stop: {
type: 'stop',
Expand Down Expand Up @@ -75,7 +137,9 @@ class PublicStatusesIndex < Chewy::Index
discard_punctuation: 'true',
},
},
}
}.freeze

settings index: index_preset(refresh_interval: '30s', number_of_shards: 5), analysis: Rails.env.test? ? DEVELOPMENT_SETTINGS : PRODUCTION_SETTINGS

index_scope ::Status.unscoped
.kept
Expand Down
67 changes: 65 additions & 2 deletions app/chewy/statuses_index.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,68 @@
# frozen_string_literal: true

class StatusesIndex < Chewy::Index
settings index: index_preset(refresh_interval: '30s', number_of_shards: 5), analysis: {
DEVELOPMENT_SETTINGS = {
filter: {
english_stop: {
type: 'stop',
stopwords: '_english_',
},

english_stemmer: {
type: 'stemmer',
language: 'english',
},

english_possessive_stemmer: {
type: 'stemmer',
language: 'possessive_english',
},
},
analyzer: {
verbatim: {
tokenizer: 'uax_url_email',
filter: %w(lowercase),
},

content: {
tokenizer: 'standard',
filter: %w(
lowercase
asciifolding
cjk_width
elision
english_possessive_stemmer
english_stop
english_stemmer
),
},

sudachi_analyzer: {
tokenizer: 'standard',
filter: %w(
lowercase
asciifolding
cjk_width
elision
english_possessive_stemmer
english_stop
english_stemmer
),
},

hashtag: {
tokenizer: 'keyword',
filter: %w(
word_delimiter_graph
lowercase
asciifolding
cjk_width
),
},
},
}.freeze

PRODUCTION_SETTINGS = {
filter: {
english_stop: {
type: 'stop',
Expand Down Expand Up @@ -79,7 +140,9 @@ class StatusesIndex < Chewy::Index
discard_punctuation: 'true',
},
},
}
}.freeze

settings index: index_preset(refresh_interval: '30s', number_of_shards: 5), analysis: Rails.env.test? ? DEVELOPMENT_SETTINGS : PRODUCTION_SETTINGS

index_scope ::Status.unscoped.kept.without_reblogs.includes(
:account,
Expand Down

0 comments on commit d152676

Please sign in to comment.