mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-05-11 17:24:50 -04:00
Note about tech used
This commit is contained in:
33
TECH. md
Normal file
33
TECH. md
Normal file
@@ -0,0 +1,33 @@
|
||||
|
||||
## Elastic search
|
||||
|
||||
Elasticsearch is used to retrieve data used in many pages. When data is
|
||||
created, updated, or deleted, and index of this data is saved into elastic
|
||||
search. This is denormlised data, which for us means it's saved into elastic
|
||||
search in a structure ready to be displayed onto our pages. Data in postgres,
|
||||
on the other hand, is saved in a different structure, that ensures data
|
||||
integrity.
|
||||
|
||||
For example, a crop needs a default photo. The photo used is the most "liked"
|
||||
photo of plantings, seeds or harvests for that crop. To get this from
|
||||
postgresql you'd need to look up the crops tables, the
|
||||
plantings,seeds,harvests, the photos, and then the likes. Instead of doing
|
||||
that on every display of a crop photo, we calculate this at data change and
|
||||
saved into the Elasticsearch index for crops.
|
||||
|
||||
### Installing Elasticsearch
|
||||
|
||||
Currently we use elastic search 7. You can check if this is still true by
|
||||
looking for the `ELASTIC_SEARCH_VERSION` variable in the `.travis.yml` file
|
||||
|
||||
To install ES on a debian/ubuntu machine you can use the same script used in
|
||||
travis-ci:
|
||||
|
||||
```
|
||||
export ELASTIC_SEARCH_VERSION="7.5.1-amd64" ./script/install_elasticsearch.sh
|
||||
```
|
||||
|
||||
You can check that it started happily using:
|
||||
```
|
||||
./script/check_elasticsearch.sh
|
||||
```
|
||||
Reference in New Issue
Block a user