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

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

Elasticsearch · Relevance · Search

How to Promote Recent Articles in Elasticsearch

The default ranking options in Elasticsearch (and Lucene) are purely based on content. Sometimes, it is useful to mix other factors in, such as the location/distance of a restaurant, to promote venues close to the user’s location, or the publication date of an article, to promote recent articles. This post discusses a simple solution which… Continue reading How to Promote Recent Articles in Elasticsearch

Elasticsearch · Search

Phrase Match and Proximity Search in Elasticsearch

The case of multi-term queries in Elasticsearch offers some room for discussion, because there are several options to consider depending on the specific use case we’re dealing with. Multi-term queries are, in their most generic definition, queries with several terms. These terms could be completely unrelated, or they could be about the same topic, or… Continue reading Phrase Match and Proximity Search in Elasticsearch

Elasticsearch · Python · Search

How to Query Elasticsearch with Python

Elasticsearch is an open-source distributed search server built on top of Apache Lucene. It’s a great tool that allows to quickly build applications with full-text search capabilities. The core implementation is in Java, but it provides a nice REST interface which allows to interact with Elasticsearch from any programming language. This article provides an overview… Continue reading How to Query Elasticsearch with Python

Python · Search

Searching PubMed with Python

PubMed is a search engine accessing millions of biomedical citations. Users can freely search for biomedical references. For some articles, the access to the full text paper is also open. This post describes how you can programmatically search the PubMed database with Python, in order to integrate searching or browsing capabilities into your Python application. There are two… Continue reading Searching PubMed with Python