Skip to content

Commit c31037d

Browse files
authored
Merge pull request #3243 from artsy/mc-jones/refactor-generalize-search-naming
refactor: generalize search naming
2 parents 461e837 + 5d4fa66 commit c31037d

File tree

18 files changed

+46
-65
lines changed

18 files changed

+46
-65
lines changed

.env.oss

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,10 @@ APP_URL=http://localhost:3005
1313
API_URL=http://localhost:3005/api
1414
FORCE_URL=https://staging.artsy.net
1515
ARTSY_URL=https://stagingapi.artsy.net
16-
SESSION_SECRET=p0s1tr0n
17-
ELASTICSEARCH_PORT=9200
18-
ELASTICSEARCH_URL=http://localhost:9200
19-
OPENSEARCH_URL=http://localhost:9200
20-
ELASTICSEARCH_INDEX_SUFFIX=development
21-
USE_OPENSEARCH=true
16+
SESSION_SECRET=p0s1tr0n # pragma: allowlist secret
17+
SEARCH_PORT=9200
18+
SEARCH_URL=http://localhost:9200
19+
SEARCH_INDEX_SUFFIX=development
2220
MONGOHQ_URL=mongodb://localhost:27017/positron
2321
GRAPHQL_ENDPOINT=https://metaphysics-staging.artsy.net # Needed to link Reaction: `yarn link @artsy/reaction`
2422
DEBUG=api,client,app

.env.test

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@ FORCE_URL=http://localhost:5000/__gravity
66
ARTSY_URL=http://localhost:5000/__gravity
77
SESSION_SECRET=p0s1tr0n
88
MONGOHQ_URL=mongodb://localhost:27017
9-
ELASTICSEARCH_URL=http://localhost:9200
10-
OPENSEARCH_URL=http://localhost:9200
11-
ELASTICSEARCH_INDEX_SUFFIX=test
12-
ELASTICSEARCH_PORT=9200
13-
USE_OPENSEARCH=true
9+
SEARCH_URL=http://localhost:9200
10+
SEARCH_INDEX_SUFFIX=test
11+
SEARCH_PORT=9200
1412
SALT=$2a$10$PJrPMBadu1NPdmnshBgFbe
1513
API_MAX=100
1614
API_PAGE_SIZE=10

.secrets.baseline

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,6 @@
133133
}
134134
],
135135
"results": {
136-
".env.oss": [
137-
{
138-
"type": "Secret Keyword",
139-
"filename": ".env.oss",
140-
"hashed_secret": "65910e06e1afc820523c9af5d194e7a85218c6d1",
141-
"is_verified": false,
142-
"line_number": 16
143-
}
144-
],
145136
"src/api/apps/articles/test/integration.spec.ts": [
146137
{
147138
"type": "JSON Web Token",
@@ -170,5 +161,5 @@
170161
}
171162
]
172163
},
173-
"generated_at": "2025-07-24T13:28:20Z"
164+
"generated_at": "2025-10-17T18:02:42Z"
174165
}

Brewfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tap 'artsy/formulas'
22
tap 'mongodb/brew'
33
brew 'mongodb-community@7.0', link: true, restart_service: true
4-
brew 'artsy/formulas/elasticsearch-full@7.17', restart_servicece: true
4+
brew 'opensearch', restart_service: true

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ If you are using Hokusai dev, edit the database as mentioned in this step, then
7171

7272
`COMMIT_HASH=$(git rev-parse --short HEAD) hokusai dev start`
7373

74-
This starts a new Docker Compose stack that boots MongoDB, ElasticSearch and Positron. Changes made to source-code are _not_ automatically reloaded. To shut down, press `ctrl+c` or execute `hokusai dev stop`.
74+
This starts a new Docker Compose stack that boots MongoDB, OpenSearch and Positron. Changes made to source-code are _not_ automatically reloaded. To shut down, press `ctrl+c` or execute `hokusai dev stop`.
7575

7676
Positron should now be running at [http://localhost:3005/](http://localhost:3005/), open a browser and navigate to it. That will redirect you to staging, login as an Artsy administrator and it will redirect you to `http://localhost:3005` logged into Writer.
7777

hokusai/development.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ services:
77
command: ["yarn", "dev"]
88
environment:
99
- MONGOHQ_URL=mongodb://positron-mongodb:27017/positron
10-
- OPENSEARCH_URL=http://positron-opensearch:9200
11-
- ELASTICSEARCH_INDEX_SUFFIX=development
10+
- SEARCH_URL=http://positron-opensearch:9200
11+
- SEARCH_INDEX_SUFFIX=development
1212
# SALT is an oss value. The '$' is escaped.
1313
- SALT=$$2a$$10$$PJrPMBadu1NPdmnshBgFbe
1414
env_file:

hokusai/test.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@ services:
55
{% include 'templates/docker-compose-service.yml.j2' %}
66
environment:
77
- CI=true
8-
- OPENSEARCH_URL=http://positron-opensearch:9200
9-
- ELASTICSEARCH_INDEX_SUFFIX=test
8+
- SEARCH_URL=http://positron-opensearch:9200
9+
- SEARCH_INDEX_SUFFIX=test
1010
- MONGOHQ_URL=mongodb://positron-mongodb:27017/positron-test
1111
# SALT is an oss value. The '$' is escaped.
1212
- SALT=$$2a$$10$$PJrPMBadu1NPdmnshBgFbe
13-
- USE_OPENSEARCH=true
1413
env_file: ../.env.test
1514
depends_on:
1615
- positron-mongodb

scripts/reindex_articles.coffee

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ path = require 'path'
44
{ indexForSearch } = Save = require '../src/api/apps/articles/model/distribute'
55
Article = require '../src/api/apps/articles/model/index.js'
66
ArticleModel = require '../src/api/models/article.coffee'
7-
search = require '../src/api/lib/elasticsearch'
7+
search = require '../src/api/lib/search_client'
88
asyncLib = require 'async'
99
{ cloneDeep } = require 'lodash'
1010

@@ -18,12 +18,11 @@ console.log('Starting article reindexing process...')
1818
console.log('Environment:', process.env.NODE_ENV || 'development')
1919
console.log('MongoDB URL:', process.env.MONGOHQ_URL ? 'Configured' : 'NOT CONFIGURED')
2020

21-
# Log Elasticsearch configuration
22-
console.log('Elasticsearch Configuration:')
23-
console.log(' - URL:', process.env.ELASTICSEARCH_URL || process.env.OPENSEARCH_URL || 'NOT CONFIGURED')
21+
# Log Search configuration
22+
console.log('Search Configuration:')
23+
console.log(' - URL:', process.env.SEARCH_URL || 'NOT CONFIGURED')
2424
console.log(' - Index Name:', search.index)
25-
console.log(' - Index Suffix:', process.env.ELASTICSEARCH_INDEX_SUFFIX || 'production')
26-
console.log(' - Using OpenSearch:', search.isOpenSearch ? 'Yes' : 'No')
25+
console.log(' - Index Suffix:', process.env.SEARCH_INDEX_SUFFIX || 'production')
2726

2827
main = ->
2928
startTime = Date.now()
@@ -98,7 +97,7 @@ indexWorker = (article, cb) ->
9897
console.log(' - Processing article:', article._id)
9998
articlePresent = Article.present(article)
10099
console.log(' - Article presented successfully')
101-
console.log(' - Indexing to Elasticsearch:')
100+
console.log(' - Indexing to search:')
102101
console.log(' * Document ID:', article.id?.toString() || article._id?.toString())
103102
console.log(' * Index Name:', search.index)
104103

@@ -107,7 +106,7 @@ indexWorker = (article, cb) ->
107106
console.error(' - Error in indexForSearch:', err)
108107
cb(err)
109108
else
110-
console.log(' - ✓ Article indexed on Elasticsearch:', article.id or article._id)
109+
console.log(' - ✓ Article indexed for search:', article.id or article._id)
111110
console.log(' * Index:', search.index)
112111
console.log(' * Document ID:', article.id?.toString() || article._id?.toString())
113112
cb()

src/api/apps/articles/model/distribute.coffee

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
} = process.env
1010
_ = require 'underscore'
1111
Backbone = require 'backbone'
12-
search = require '../../../lib/elasticsearch'
12+
search = require '../../../lib/search_client'
1313
async = require 'async'
1414
debug = require('debug') 'api'
1515
request = require 'superagent'
@@ -58,17 +58,15 @@ moment = require 'moment'
5858
search_boost: new Article(cloneDeep article).searchBoost()
5959
type: 'article'
6060
, (error, response) ->
61-
console.log('ElasticsearchIndexingError: Article ' + article.id + ' : ' + error) if error
61+
console.log('SearchIndexingError: Article ' + article.id + ' : ' + error) if error
6262
cb()
6363
)
6464

6565
@removeFromSearch = (id) ->
6666
deleteParams =
6767
index: search.index
6868
id: id
69-
70-
# Only include type parameter for Elasticsearch
71-
deleteParams.type = if search.isOpenSearch then '_doc' else 'article'
69+
type: '_doc'
7270

7371
search.client.delete(deleteParams, (error, response) ->
7472
console.log(error) if error

src/api/apps/articles/test/model/distribute.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ describe("Save", () => {
4747
Distribute.__set__("search", {
4848
client: searchStub,
4949
index: "test-index",
50-
isOpenSearch: true,
5150
})
5251
}
5352

0 commit comments

Comments
 (0)