Free Australian Address Validation, Search and Autocomplete - addressr.mountain-pass.com.au
- Install addressr
NOTE: If you are running windows, you'll need to use wsl
npm install @mountainpass/addressr -g
- Start elastic search. For example run
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.2.0 docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.2.0
- Start API server. In a second window run:
export ELASTIC_PORT=9200 export ELASTIC_HOST=localhost addressr-server
- Setup the env vars for the data loader. In a third window run:
export ELASTIC_PORT=9200 export ELASTIC_HOST=localhost export ADDRESSR_INDEX_TIMEOUT=30s export ADDRESSR_INDEX_BACKOFF=1000 export ADDRESSR_INDEX_BACKOFF_INCREMENT=1000 export ADDRESSR_INDEX_BACKOFF_MAX=10000
- Optional - enable geocodes by setting the following env vars for the data loader. In the third window run: NOTE: with geocodes enabled, indexing takes much longer and needs much more memory. Only use turn them on if you need them. You can always add them later.
export ADDRESSR_ENABLE_GEO=1 export NODE_OPTIONS=--max_old_space_size=8196
- Optional - limit the addresses to a single state by setting the
COVERED_STATES
env var for the data loader. This dramatically speeds up indexing. For example, in the third window run:
Valid values are:COVERED_STATES=VIC,SA
- ACT
- NSW
- NT
- OT
- QLD
- SA
- TAS
- VIC
- WA
- Run data Loader. In the third window run:
addressr-loader
- OK, so we stretched the truth a bit with the "Quick Start" heading. The truth is that it takes quite a while to download, store and index the 13+ million addresses from data.gov.au. So make a coffee, or tea, or find something else to do and come back in about an hour when it's done.
- Search for an address
curl -i http://localhost:8080/addresses?q=LEVEL+25,+TOWER+3
- Wire you address form up to the address-server api.
- An updated G-NAF is released every 3 months. Put
addressr-loader
in a cron job or similar to keep addressr regularly updated
elasticsearch-oss >= 7.2.0 with 1.4GiB of memory
Node JS >= 11.14.0 with 1GiB of memory
Node JS >= 11.14.0 with 8GiB of memory
Node JS >= 11.14.0 with 64MiB of memory