Elasticsearch · Javascript · Python · Search

Building a search-as-you-type feature with Elasticsearch, AngularJS and Flask (Part 2: front-end)

This article is the second part of a tutorial which describes how to build a search-as-you-type feature based on Elasticsearch, Python/Flask and AngularJS. The first part has discussed how to set-up Elasticsearch and a microservice in Python/Flask, i.e. the back-end part of the system. It also provided an overall view on the architecture. In this… Continue reading Building a search-as-you-type feature with Elasticsearch, AngularJS and Flask (Part 2: front-end)

Elasticsearch · Javascript · Python · Search

Building a Search-As-You-Type Feature with Elasticsearch, AngularJS and Flask

Search-as-you-type is an interesting feature of modern search engines, that allows users to have an instant feedback related to their search, while they are still typing a query. In this tutorial, we discuss how to implement this feature in a custom search engine built with Elasticsearch and Python/Flask on the backend side, and AngularJS for… Continue reading Building a Search-As-You-Type Feature with Elasticsearch, AngularJS and Flask

Big Data · Python · Spark

Getting Started with Apache Spark and Python 3

Apache Spark is a cluster computing framework, currently one of the most actively developed in the open-source Big Data arena. It aims at being a general engine for large-scale data processing, supporting a number of platforms for cluster management (e.g. YARN or Mesos as well as Spark native) and a variety of distributed storage systems… Continue reading Getting Started with Apache Spark and Python 3

Best Practices · Python

How to Develop and Distribute Python Packages

This article contains some notes about the development of Python modules and packages, as well as brief overview on how to distribute a package in order to make it easy to install via pip. Modules vs Packages in Python Firstly, let’s start from the distinction between modules and packages, which is something sligthly different from… Continue reading How to Develop and Distribute Python Packages

Elasticsearch · Relevance · Search

Tuning Relevance in Elasticsearch with Custom Boosting

Elasticsearch offers different options out of the box in terms of ranking function (similarity function, in Lucene terminology). The default ranking function is a variation of TF-IDF, relatively simple to understand and, thanks to some smart normalisations, also quite effective in practice. Each use case is a different story so sometimes the default ranking function… Continue reading Tuning Relevance in Elasticsearch with Custom Boosting

Data Visualisation · Javascript · Maps · Python

Mining Twitter Data with Python (and JS) – Part 7: Geolocation and Interactive Maps

Geolocation is the process of identifying the geographic location of an object such as a mobile phone or a computer. Twitter allows its users to provide their location when they publish a tweet, in the form of latitude and longitude coordinates. With this information, we are ready to create some nice visualisation for our data,… Continue reading Mining Twitter Data with Python (and JS) – Part 7: Geolocation and Interactive Maps

Functional Programming · Python

Functional Programming in Python

This is probably not the newest of the topics, but I haven’t had the chance to dig into it before, so here we go. Python supports multiple programming paradigms, but it’s not best known for its Functional Programming style. As its own creator has mentioned before, Python hasn’t been heavily influenced by other functional languages,… Continue reading Functional Programming in Python