All Projects → matthaywardwebdesign → Aus Search

matthaywardwebdesign / Aus Search

Licence: mit
A collection of Node JS scripts to create an Elasticsearch index of Australian addresses.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Aus Search

Newsblur
NewsBlur is a personal news reader that brings people together to talk about the world. A new sound of an old instrument.
Stars: ✭ 5,862 (+7613.16%)
Mutual labels:  mongodb, elasticsearch
Goodskill
🐂基于springcloud +dubbo构建的模拟秒杀项目,模块化设计,集成了分库分表、elasticsearch🔍、gateway、mybatis-plus、spring-session等常用开源组件
Stars: ✭ 786 (+934.21%)
Mutual labels:  mongodb, elasticsearch
Monstache
a go daemon that syncs MongoDB to Elasticsearch in realtime
Stars: ✭ 736 (+868.42%)
Mutual labels:  mongodb, elasticsearch
Transporter
Sync data between persistence engines, like ETL only not stodgy
Stars: ✭ 1,175 (+1446.05%)
Mutual labels:  mongodb, elasticsearch
Nodbi
Document DBI connector for R
Stars: ✭ 56 (-26.32%)
Mutual labels:  mongodb, elasticsearch
Bdp Dataplatform
大数据生态解决方案数据平台:基于大数据、数据平台、微服务、机器学习、商城、自动化运维、DevOps、容器部署平台、数据平台采集、数据平台存储、数据平台计算、数据平台开发、数据平台应用搭建的大数据解决方案。
Stars: ✭ 456 (+500%)
Mutual labels:  mongodb, elasticsearch
Mall Swarm
mall-swarm是一套微服务商城系统,采用了 Spring Cloud Hoxton & Alibaba、Spring Boot 2.3、Oauth2、MyBatis、Docker、Elasticsearch、Kubernetes等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。mall-swarm在电商业务的基础集成了注册中心、配置中心、监控中心、网关等系统功能。文档齐全,附带全套Spring Cloud教程。
Stars: ✭ 7,874 (+10260.53%)
Mutual labels:  mongodb, elasticsearch
Spring Boot Enterprise Application Development
Spring Boot Enterprise Application Development.《Spring Boot 企业级应用开发实战》
Stars: ✭ 261 (+243.42%)
Mutual labels:  mongodb, elasticsearch
Phalcon Vm
Vagrant configuration for PHP7, Phalcon 3.x and Zephir development.
Stars: ✭ 43 (-43.42%)
Mutual labels:  mongodb, elasticsearch
Szt Bigdata
深圳地铁大数据客流分析系统🚇🚄🌟
Stars: ✭ 826 (+986.84%)
Mutual labels:  mongodb, elasticsearch
Notebook
🍎 笔记本
Stars: ✭ 381 (+401.32%)
Mutual labels:  mongodb, elasticsearch
Spring Examples
SpringBoot Examples
Stars: ✭ 67 (-11.84%)
Mutual labels:  mongodb, elasticsearch
Springy Store Microservices
Springy Store is a conceptual simple μServices-based project using the latest cutting-edge technologies, to demonstrate how the Store services are created to be a cloud-native and 12-factor app agnostic. Those μServices are developed based on Spring Boot & Cloud framework that implements cloud-native intuitive, design patterns, and best practices.
Stars: ✭ 318 (+318.42%)
Mutual labels:  mongodb, elasticsearch
Dev Setup
macOS development environment setup: Easy-to-understand instructions with automated setup scripts for developer tools like Vim, Sublime Text, Bash, iTerm, Python data analysis, Spark, Hadoop MapReduce, AWS, Heroku, JavaScript web development, Android development, common data stores, and dev-based OS X defaults.
Stars: ✭ 5,590 (+7255.26%)
Mutual labels:  mongodb, elasticsearch
Workarea
Workarea is an enterprise-grade Ruby on Rails commerce platform
Stars: ✭ 290 (+281.58%)
Mutual labels:  mongodb, elasticsearch
Stream Reactor
Streaming reference architecture for ETL with Kafka and Kafka-Connect. You can find more on http://lenses.io on how we provide a unified solution to manage your connectors, most advanced SQL engine for Kafka and Kafka Streams, cluster monitoring and alerting, and more.
Stars: ✭ 753 (+890.79%)
Mutual labels:  mongodb, elasticsearch
Firecamp
Serverless Platform for the stateful services
Stars: ✭ 194 (+155.26%)
Mutual labels:  mongodb, elasticsearch
K8s
Important production-grade Kubernetes Ops Services
Stars: ✭ 253 (+232.89%)
Mutual labels:  mongodb, elasticsearch
Springbootexamples
Spring Boot 学习教程
Stars: ✭ 794 (+944.74%)
Mutual labels:  mongodb, elasticsearch
Mall Learning
mall学习教程,架构、业务、技术要点全方位解析。mall项目(40k+star)是一套电商系统,使用现阶段主流技术实现。涵盖了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7等技术,采用Docker容器化部署。
Stars: ✭ 10,236 (+13368.42%)
Mutual labels:  mongodb, elasticsearch

AusSearch

A collection of Node JS scripts to create both a MongoDB Database and an Elasticsearch index of all Australian addresses using open data provided by https://data.gov.au

Requirements

To run the provided scripts you will need to have about 30GB of free space and a few things installed on your machine

  • Docker (including docker-compose which is not installed with docker by default on Linux)
  • Node JS with ES6 support
  • wget
  • unzip

Getting started

  1. Start up MongoDB and Elasticsearch

    Run the following command (on Linux you may need to run with sudo)

    docker-compose up -d
    

    Running this will pull the Docker images for MongoDB and Elasticsearch and start instances of them both in detached mode.

    If you are on Linux and get an error message about the vm.max_map_count and fs.file-max, run the following commands

    sudo sysctl -w vm.max_map_count=262144
    sudo sysctl -w fs.file-max=65536
    

    You can then re-run the docker-compose command above.

  2. Install the required NodeJS packages

    Run the following command

    npm install
    

    Running this will install the NodeJS packages used by our scripts

  3. Downloading the G-NAF data

    Run the following command

    ./download.sh
    

    Running this will pull down a copy of the G-NAF data from the http://data.gov.au website and unzip the resulting zip file into the data directory.

  4. Import the data into MongoDB

    Run the following command

    node import.js
    

    Running this will parse the data files downloaded and insert them into collections in MongoDB.

  5. Create indexes in MongoDB

    To make the following steps as quick as possible run the following command

    node create-indexes.js
    

    Running this will create indexes in the MongoDB Database that will make reading data a lot faster in the following steps.

  6. Simplify the data

    Run the following command

    node simplify.js
    

    Running this will combine and simplify the data imported in step 4

  7. Create Elasticsearch index

    Run the following command

    node elasticsearch-create.js
    

    Running this will create the Elasticsearch index that we can insert our documents into.

  8. Indexing our data with Elasticsearch

    Run the following command

    node elasticsearch-import.js
    

    Running this will import our data into Elasticsearch.

Searching data

Once all of the steps above have been run it's time to search our data. Searching for an address is as easy as making a GET request to the following URL:

http://localhost:9200/address/singleAddress/_search?q=ADDRESS_GOES_HERE

If all is successful you should receive a list of matching addresses.

References

Incorporates or developed using G-NAF ©PSMA Australia Limited licensed by the Commonwealth of Australia under the Open Geo-coded National Address File (G-NAF) End User Licence Agreement.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].