This article was created by AI with some human edits.

Introduction

Among full-text search engines, Typesense, MeiliSearch, and Algolia are gaining attention as options for small-scale projects. However, whether partial match search with “field a contains x AND field b contains y” is possible is an important consideration for project requirements. This article examines the feasibility of partial match search in Algolia and compares it with Elasticsearch.


Partial Match Search in Algolia

Algolia offers full-text search (query), but there are limitations when performing partial match searches on specific fields.

Method 1: Search using query (partial match possible but no field specification)

index.search('xy')

Characteristics:

  • Searches all fields for data containing x or y.
  • Cannot restrict which fields are matched.

Method 2: Using restrictSearchableAttributes (single field search)

i}i}n)n)dr;dr;eeeexsxs.t.tsrsreieiacacrtrtcScShehe(a(a'r'rxcyc'h'h,a,abb{l{leeAAttttrriibbuutteess::[[''ab'']]

Characteristics:

  • Can individually search for data containing x in field a and data containing y in field b.
  • There is no way to apply both conditions simultaneously.

Algolia Conclusion

Partial match search is possible, but AND conditions across multiple fields are difficult. “Field a contains x AND field b contains y” search is not possible with standard features.


Partial Match Search in Elasticsearch

In Elasticsearch, using bool queries enables “field a contains x AND field b contains y” partial match search.

G{}ET"}qmu"}yeb_ro"]iyomn"lu{{d:"se:t""x{"mm/{:aa_tts[ccehha""r::ch{{""ab""::""xy""}}}},

Characteristics:

  • Data containing x in field a
  • Data containing y in field b
  • Only data satisfying both conditions is returned

“Field a contains x AND field b contains y” partial match search is possible.


Summary

Search EngineFull-text SearchSpecific Field SearchExact Match FilterPartial Match AND Search
AlgoliaPossiblePossible (single field)Not possibleNot possible
ElasticsearchPossiblePossiblePossiblePossible

Conclusion:

  • For simple full-text search, Typesense, MeiliSearch, or Algolia are suitable.
  • For AND partial match search on specific fields, Elasticsearch is suitable.

We hope this article helps in selecting a full-text search engine!