mysap
mysap

Reputation: 297

Elasticsearch best practices

1) We are fairly new to Elasticsearch. In our spring boot application, we are using Spring's Elasticsearch that is based on in-memory node client. Insert/update/deletes happen on our primary relational database (DB2) and we use Elasticsearch solely for handling searches. We have a synchronizing mechanism to keep elastic search up to date with the latest changes

2) In production, we have 4 instances of our application running. To synchronize the in-memory elastic store on all 4 servers, we have a JMS topic in place where all the DB2 updates are posted. Application has a topic listener that will consume any DB changes posted to this JMS topic and update the in-memory elastic store.

Question:

i) Is the above an ideal way to implement Elasticsearch in your application? If not, what else would you recommend?

ii) Any Elasticsearch best practices that you can point us to?

Thanks Much!

Upvotes: 2

Views: 462

Answers (1)

Ash
Ash

Reputation: 1290

1- In Prod, choose 3 master and 4 data nodes. Always an odd number of total servers

2- Define your mappings and index in advance, dont choose auto-create option.

  1. Should define data types
  2. Define amount as sclaed_float with 100 precision
  3. All numeric fields should be defined as long so query ' between', 'sort' or aggregation.
  4. Chose carefully between keyword and text field type. Use text where it is necessary.

3- Define external version if you update the same record, again and again, to avoid updating with stale data.

Upvotes: 2

Related Questions