GraphAware Blog - Search

Find out what's new in the Neo4j world

Registering a custom analyzer for phonetic search in Neo4j 4

11 Mar 2021 by Luanne Misquitta · 2 min read Neo4j Cypher Search

Phonetic matching attempts to match words by pronunciation instead of spelling. Words are typically misspelled and exact matches result in them not being found.Algorithms such as Soundex and Metaphone were developed to address this problem and they have found usage in the areas of voice assistants, search, record linking and fraud detection, misspelled names of things (for example, medical records) etc.Custom analyzersIn 2019, we blogged about creating a Czech analyzer to address accents in the language.With Neo4j 4, a few things have changed. This short blog post was inspired by a StackOverflow question on phonetic searches and resulted in me...

Handling synonyms in Neo4j's Full Text Search

20 Dec 2019 by Christophe Willemsen · 5 min read Neo4j Cypher Search

So you have followed the Deep Dive into Neo4j’s Full Text Search tutorial, learned even how to create custom analyzers and finally watched the Full Text Search tips and tricks talk at the Nodes19 online conference?Still, searching for boat does not yield results containing yacht or ship, and you’re wondering how to make your search engine a bit more relevant for your users?Don’t go any further, you’ll learn how to do it, now!SynonymsA synonym is a word or phrase that means exactly or nearly the same as another word or phrase.Why synonyms ?It’s all about recall! In other words, to...

Custom analyzer for fulltext search in Neo4j

06 Sep 2019 by František Hartman · 3 min read Neo4j Cypher Search

We have already blogged about fulltext search available in Neo4j 3.5. The list of available analyzers covers many languages and fits various use cases. However once you expose the search to real users they will start pointing out edge cases and complain about the search not being google-like.Speakers of languages using accents in their written form quite often leave out the accents. This has various reasons, the most common ones are historical, when different character encodings caused problems and users find it hard to change their habits using a different default keyboard layout (e.g. en_US); switching the layout just for...

Deep Dive into Neo4j 3.5 Full Text Search

Deep Dive into Neo4j 3.5 Full Text Search

11 Jan 2019 by Christophe Willemsen · 15 min read Neo4j Cypher Search

In this blog we will go over the Full Text Search capabilities available in the latest major release of Neo4j.Contrary to our usual blogs, the content will rather focus on the underlying search engine used by Neo4j, that is Apache Lucene in version 5.5.5 .What exactly is Search ?Search is an interaction between a user and a search engine. The user has an information need at hand and attempts to satisfy it by providing a search with adequate constraints.The search engine uses those constraints to collect matching results and return them to the user.What is a Search Engine ?A search...

Relevant Search Leveraging Knowledge Graphs with Neo4j

05 May 2017 by Alessandro Negro · 14 min read Neo4j Elasticsearch Knowledge Graph Search NLP Recommendations

“Relevance is the practice of improving search results for users by satisfying their information needs in the context of a particular user experience, while balancing how ranking impacts business’s needs.” [1]Providing relevant information to the user performing search queries or navigating a site is always a complex task. It requires a huge set of data, a process of progressive improvements, and self-tuning parameters together with infrastructure that can support them.Such search infrastructure must be introduced seamlessly and smoothly into the existing platform, with access to all relevant data flows to provide always up-to-date data. Moreover, it should allow for easy...

Mining and Searching Text with Graph Databases

07 Jul 2016 by Alessandro Negro · 11 min read Neo4j GraphAware Enterprise NLP Search Advanced

A great part of the world’s knowledge is stored using text in natural language, but using it in an effective way isstill a major challenge. Natural Language Processing (NLP) techniques provide the basis for harnessing this huge amountof data and converting it into a useful source of knowledge for further processing.IntroductionNLP is used in a wide variety of disciplines to solve many different types of problems. Analysis is performed on textfrom different sources, such as blogs, tweets, and various social media, with size ranging from a few words to multiple documents.Machine learning and text analysis are frequently used to enhance...

GraphConnect 2015 Talk

20 Nov 2015 by Michal Bachman · 0 min read Neo4j Conference Intermediate Search Elasticsearch

Last month, I had the pleasure of speaking at GraphConnect in San Francisco, introducing the Graph-Aided Search to alarge audience of Neo4j users and graph enthusiasts. For those who missed the conference, the recording and slides havenow been made available. Enjoy and get in touch with feedback / questions!VideoSlides Real-Time Recommendations and the Future of Search from GraphAware

Recommendations with Neo4j and Graph-Aided Search

30 Sep 2015 by Michal Bachman · 4 min read Neo4j Recommendations Search Elasticsearch

For the last couple of years, Neo4j has been increasingly popular as the technology of choice for people building real-time recommendation engines. Having been at the forefront of the graph movement through clientengagements and open-source software development, we have identified the next step in the natural evolution of graph-based recommendationengines. We call it Graph-Aided Search.Recommendations EverywhereAt first glance, it may seem that graph databases are only good for social networks but it has been proven over and overagain that the variety of domains and industries that need a graph database to store, analyse, and query connected datacould not be any...