blog-post

How wine.co.za made an archive of about 145,000 records easier to search with Manticore Search

author image
View as markdown

For wine.co.za , search is about more than finding a bottle of wine.

The site's archive covers much of the South African wine industry: wines, wineries, contacts, international agents, news articles, and classified adverts. Visitors might be looking for a particular producer, an old article, or a wine they can describe but don't know by name.

wine.co.za used to handle these searches directly in MariaDB, using full-text indexes and wildcard queries. It worked, but visitors had to be fairly precise about what they typed.

Manticore Search made those searches more flexible and made search suggestions more useful. For Kevin Kidson , IT Director at WineNet, the other big benefit is that it needs very little attention:

“It is just so damn solid — build and forget — it has been running rock solid for years.”

An archive of the South African wine industry

Manticore powers search across all parts of wine.co.za. When Kevin shared details of the system, it indexed the following:

DatasetRecords
Wineries907
Wines45,833
Contacts4,644
International agents3,447
News articles41,602
Classified adverts48,482
Total in these collections144,915

There are a few smaller databases as well. Kevin describes wine.co.za as an archive for the South African wine industry, where every record matters.

The aim was straightforward: make all this information easier to find with a search engine that was easy to set up and could work alongside the existing application.

Before Manticore: visitors had to know what to type

Kevin describes the old search as a combination of full-text indexes and wildcard queries using patterns such as xx* and xx%.

“The user had to know what they were looking for, or at least how to start spelling it.”

That was limiting for someone who knew what kind of wine they wanted but didn't have a particular name in mind. They might want to search for:

dry chenin stellenbosch

Those three words describe a wine style, a grape variety, and a region. Kevin says the ability to combine them in one search was the most important improvement Manticore brought to the site.

“It has allowed me to combine search words, so dry chenin from Stellenbosch etc — I could never do that before.”

Visitors can now describe what they want rather than having to start with a specific wine or winery name.

MariaDB remains the source of truth

The integration is simple. wine.co.za still stores and updates its data in MariaDB. Once a day, it copies the searchable data into Manticore. The website sends search queries through the .NET library.

MariaDB → daily indexing → Manticore Search → .NET application → wine.co.za search

MariaDB continues to handle the primary data, while Manticore handles search. The two work alongside each other rather than one replacing the other.

Ease of setup mattered because Kevin had little time to spare:

“It was very easy and logical to set up.”

He remembers the setup being spread over about two days because he was fitting it around other work. He estimates the total time spent installing Manticore and learning how to use it at about 24 hours.

Better suggestions as visitors type

Manticore also powers suggestions in wine.co.za's search boxes. These help visitors find what they're looking for before they've finished typing.

Kevin says Manticore is fast enough to generate suggestions as people type, and its more forgiving search makes the dropdowns easier to build. Visitors aren't tied to a particular word order: they can type dry chenin stellenbosch or stellenbosch chenin dry.

That helps people who know the exact name of a wine or producer, as well as those who only know a few details about what they want. Both can use the same search box.

In his survey response, Kevin highlighted both improvements:

“MUCH better searching across the site — and MUCH better suggestions in drop-downs etc.”

wine.co.za hasn't shared detailed performance benchmarks. Kevin says the company is small and doesn't measure much, so there are no before-and-after latency or resource-use figures to report.

For Kevin, the more important point is that Manticore has been running reliably for years without needing much of his time. He would like to explore more of what it can do, but he's already happy with how it works.

For a small team, that's a practical benefit. Time that might otherwise go into maintaining search can go into other work.

“It's doing a brilliant job & I don't have to worry about it.”

Better search without a big engineering project

wine.co.za's setup shows how a separate search engine can fit into an existing application without replacing the main database. MariaDB still stores the data. Manticore receives a copy each day, and the .NET application uses it for search.

The improvement is visible in ordinary searches. Someone looking for a dry Chenin from Stellenbosch can put those words together, try a different order, and get suggestions as they type. They don't have to know a specific wine name before they begin.

For Kevin, the value is in that combination: visitors have an easier time finding what they need, while search requires very little day-to-day attention from him.

Go from zero to Manticore in seconds

Install Manticore Search in one command on Linux or macOS:

curl https://manticoresearch.com | sh

For advanced installation options, see the full installation guide and the manual .