- store synonyms in files
- add reload synonyms option to es7_init
- use non-oss kibana and elasticsearch images to get the reload analyzer api
- add command to create an elastic cloud bundle out of synonym files
- protect specific stop-word containing phrases from tokenization with char mappings
- add docs
https://github.com/mozilla/sumo-project/issues/721https://github.com/mozilla/sumo-project/issues/748
add tests to ensure aggregations return the correct result
fix tests by:
- only doing live indexing if ES_LIVE_INDEX=True
- reverting removal of SEARCH_CACHE_PERIOD in d7d8af1
* [docs] mention complete command
New user, who is setting-up development environment may get confused,
where they should run commands related to `manage.py` script. So it
would be nice idea to mention complete commands, whenever it could be
possible.
First, we have to make sure user gets properly exit from web's bash
shell in "Get search working" section by running `exit` command.
* [docs] change format of 'Get search working' section
Change format of 'Get search working' section, to make it consistent
with reset of the document.
* [docs] switch to https URL
Its always a good idea to prefer https over non-https URL.
If user has low bandwidth, they may get a timeout error while
downloading Python packages from PyPi repository. This happens because
default timeout of pip is set to 60 seconds, which is very less for
large batch process; and it can be changed using "PIP_DEFAULT_TIMEOUT"
environment variable or by passing --default-timeout as an argument to
pip command[1].
[1]: https://pip.pypa.io/en/stable/user_guide/#environment-variables
Docker's "ARG" instruction allows us to pass variable's value at build
time using the `--build-arg <varname>=<value>` flag to `docker
build`[2][3] and `docker-compose build`[4] command. Default value of
"PIP_DEFAULT_TIMEOUT" variable is still set to 60 seconds because bogus
value may increase production built time which we want to fail pretty
fast, if we're not able to fetch something from PyPi. We can set it to 5
mins by running `docker build --build-arg PIP_DEFAULT_TIMEOUT=300` and
`docker-compose build --build-arg PIP_DEFAULT_TIMEOUT=300` for `docker`
and `docker-compose` command respectively.
[2]: https://vsupalov.com/docker-build-time-env-values/
[3]: https://docs.docker.com/engine/reference/builder/#arg
[4]: https://docs.docker.com/compose/reference/build/
Now we can change default timeout value of pip, by pass PIP_TIMEOUT as
an argument[1]. For example, if we want to set timeout value to 5
minutes, run `make build PIP_TIMEOUT=300` or `make build-ci
PIP_TIMEOUT=300` command; default value of PIP_TIMEOUT is 60 which also
the default timeout value of pip, itself.
[5]: https://stackoverflow.com/a/2826178
We only need to use 'PIP_TIMEOUT' variable, where 'base' image is
building because only 'base' image is fetching a lots of Python packages
from PyPi.
And add instruction about, how user can change default timeout value of
pip in the documentation.
Resolves: #4511