- Don't include status groups in contact indexing
- Test against postgresql 15
- Update dependencies
- Test against Elasticsearch 8
- Record stats inside indexing batch loop
- Split up created vs updated in progress logging
- Add track_total_hits to GetESLastModified
- Update github actions versions
- Add healthcheck for elastic service in CI tests
- Update goreleaser config to v2
- Remove multi-search-db CI testing because it's unreliable
- Remove opensearch from CI
- Update slog-multi
- Update deps
- Use std lib errors
- Reduce batch size to 100,000
- Test with OpenSearch 2.13 as well
- Remove deprecated _doc from mapping to support ES8 / OS2
- Test against Elastic 7.x and 8.x and OpenSearch 1.x
- Rewrite tests to make raw HTTP calls to elastic and not use the old library
- Add reporting of lag as a metric
- Update deps and bump main package to v9
- Finish switching to use slog for logging
- Update dependencies
- Update docker dev image to go 1.21
- Start replacing logrus with slog
- Bump golang.org/x/net from 0.14.0 to 0.17.0
- Replace deprecated ioutil calls
- Pass context to fetching of contacts
- Update to go 1.20
- Fix docker file
- Change some debug logging to trace level
- Stop logging all ES requests in debug mode (only log errors)
- Add major version to import path to allow use as library
- Use services in github actions
- Test against postgres 14
- Test against latest elastic search 7.17.x
- Change index setting to contacts_index
- Use go 1.19
- Allow configurable number of shards/replicas
- Update README
- Tweak startup logging
- Log app version on startup
- Use analytics package from gocommon instead of librato directly
- Add arm64 as a build target
- Update dependencies and go version to 1.18
- Don't panic on connection failure to ES
- Better logging within batches during rebuilds
- Test with latest ES 7.17
- Ignore malformed field value numbers
- Drop the flow and groups fields which have been replaced by flow_id and group_ids
- Log batch progress during rebuilds
- Add group_ids field to replace groups
- Include flow id history as flow_history_ids and current flow id as flow_id
- If indexing fails, log status code from elasticsearch
- Poll interval is configurable
- Add stats reporting cron task and optional librato config
- Refactor to support different indexer types
- Update golang.org/x/sys
- Tweak README
- Index contact.current_flow_id as flow uuid
- CI with go 1.17
- Test on PG12 and 13
- Include contact.ticket_count as tickets in index
- Update to go 1.16
- Use embedded file for index settings
- Remove no longer used is_blocked and and is_stopped fields
- 6.4.0 candidate
- Fix creating of location keyword fields when values have punctuation
- add rp-indexer to .gitignore
- 6.2.0 RC
- Change ElasticSearch version to v7 (backwards incompatible change)
- Update README
- add status field to index for querying
- Use contact status instead of is_stopped / is_blocked
- Retry HTTP calls to ES
- Index last_seen_on
- 5.6.0 Release Candidate
- touch README for 5.4 release
- Sync release with RapidPro 5.2
- Ignore value of is_test on contacts
- update ES shards to match current ES best-practice guidance
- move to go module, dont ignore any keywords
- Changes to support both PG 10 and 9.6
- increase batch size to 500k
- Add created_on to the mapping
- Update location index spec so we can sort in location fields
- make sure to close response body so we don't run out of handles
- add cleanup option to remove old indexes that are no longer used
- better indexing rate calculation
- fix indexer getting stalled if there are more than 500 contacts with same modified_on
- change to number instead of decimal field
- add example not exists query
- look a bit behind for updated contacts so we don't run into races
- plug in sentry, log errors on unexpected indexing responses
- Deal with long name searches
- specify the 'standard' search_analyzer for name so it doesn't need to be specified at query time
- add modified_on_mu for sorting / index creation
- add prefix name for index building
- refactor main loop in indexer
- more logging, deal with missing physical indexes
- add logging of physical indexes that are looked up
- more complete logging of request parameters
- add debug log level, more logging of errors
- use trigram tokenizer instead of filter to allow for phrase queries on urn paths
- store both a keyword and tokenized version of locations (without any path)
- Fix Travis goreleaser releases
- Put rp-indexer binary in root dir
- Fix goreleaser config
- index groups by uuid for each contact
- add case insensitive location query in unit test
- add test for contact with multiple tel urns
- Add changelog, move to fancy revving