Total Cost of Ownership for Semantic Search

Post Date: 2025-11-26Author: George Bonnici
Total Cost of Ownership for Semantic Search

Semantic Search: Why We're Paying Enterprise Prices for Commodity Features

Semantic search has been a game changer over the last couple years. The idea of asking questions and getting back relevant content is an ideal user experience. Large companies like Coveo market this as an enterprise service to abstract your whole search away. It looks impressive on paper but when you get a quote priced at $1k+ a month (this is absolute baseline and are more likely to go to $5k a month), you're told this is "enterprise-grade" and worth the investment.

I think this is a wrought. Especially for companies looking to maintain data sovereignty in the ever faster moving world of tech + AI. The same semantic search capability - the one I detailed in my previous guide on building semantic search with Milvus - can be achieved for 10% of the price annually with more control and freedom in implementation.

The truth is that enterprise search vendors like Coveo are charging enterprise prices for capabilities that are now commodity features, thanks to AI. Let's break down what you're actually paying for - and what you're not getting in return.

The Three Problems with Enterprise Search Vendors

Cost vs. Value Mismatch - The Real ROI

Let's talk actual numbers, because the cost disparity is staggering.

Coveo's True Cost Over Three Years:

  • Annual licensing: $50k+ (scales with content volume, users, and features you'll likely never use)
  • Implementation fees: $20k+ upfront to get the system configured and integrated
  • Professional services: $200-$300 per hour whenever you need customisation beyond their standard offerings
  • Training and onboarding: $10k+ to get your team up to speed on their platform
  • Annual increases: Most enterprise contracts include 5-10% annual price increases

Three-year total cost of ownership: $200k+. This is a huge expense and is the classic shiny object syndrome which manages to catch many enterprises.

Now let's look at what the same semantic search capability actually costs with open source tools.

Open Source Approach (Milvus + Drupal AI) Over Three Years:

  • OpenAI API costs (using text-embedding-3-small at ~$0.02 per million tokens):

    • Initial indexing for 500 pages: $2-$5 one-time
    • Monthly re-indexing and updates: $5-$10/month
    • Search queries: Nearly free (vectors are already stored, queries just do similarity matching)
    • Annual API cost: $120
  • Milvus vector database hosting (managed Zilliz Cloud):

    • $50-$100/month for production-ready managed service
    • Includes backups, monitoring, automatic scaling
    • Annual cost: $600-$1,200
  • Drupal modules: Free (open source - ai, ai_search, ai_provider_openai, ai_vdb_provider_milvus, search_api)

  • Initial developer setup time: 3-4 days (~$3,600-$4,800 one-time investment)

  • Ongoing maintenance: Minimal - standard Drupal module updates via Composer

Three-year total cost of ownership: ~$10k.

Let me be clear about what this comparison means. You're looking at:

  • Savings of $200k+ over three years
  • Return on investment of 2000%+
  • Identical semantic search functionality (unless you are right in the weeds)

These numbers sounds rediculous, but for 90% of use cases, will hold true.

If you dig deep on Coveo (and other enterprise options), there are certain things that you may gain. Things like deeper machine learning analytics and different out of the box semantic search algorithms but I often wonder how many clients actually put this to use?

Vendor Lock-in and the Illusion of Control

Coveo's sales pitch promises "enterprise-grade customisation." Here's what this means:

Want to adjust relevance scoring algorithms? That'll require a professional services engagement at $200+ per hour. You get limited access to tune the algoritms yourself. You can usually play within the bounds of an off the shelf model and everything else goes through them.

Need to modify how embeddings are generated or switch to a newer, better model? You're locked into their black-box implementation. When OpenAI releases a better embedding model, or when your organisation needs to use a different provider for cost or data residency reasons, you wait for Coveo's updates.

Want to implement custom filtering, re-ranking, or hybrid search? More professional services fees, assuming they support your use case at all.

Data residency requirements or compliance needs? Pay premium pricing for regional deployment, or you're stuck with wherever they've decided to host your data.

I've experienced this firsthand with Coveo. The integration shouldn't have been as expensive or complex as it was. The documentation was unbelievably convoluted - any solutions that deviated from the exact recommended implementation was a headache. When we needed help/changes, we would need to schedule a call and work through pain points. If your use case is completely hands off, then these vendors are not a bad option.

Here's what control looks like with the open source approach:

You own your data, the vector database is yours, the embeddings are yours and you can do what you like with them. You can switch providers when you want without break or exit fees.

You can swap AI providers freely. Don't like OpenAI's pricing? Switch to Anthropic's Claude. Need data residency? Use Cohere or self-hosted models. The Drupal AI module supports multiple providers, and changing them is a configuration setting (which is striaht forward) and not a vendor contract negotiation.

You have complete control over relevance scoring through Search API processors and Milvus similarity metrics. Want to boost certain content types? Add custom scoring based on recency? Implement hybrid search combining semantic and keyword matching? Once again, change some config and forget about it.

You control the upgrade timeline. When a new embedding model launches, you test it, evaluate it, and implement it on your schedule. You're not waiting for a vendor's quarterly release cycle.

The "enterprise support" myth deserves special attention. Enterprise vendors promise white-glove support, but what you actually get is a ticketing system and knowledge base - the same knowledge base that didn't have answers when you needed them. Meanwhile, community support for Drupal AI, Milvus, and Search API is often faster and more helpful because you're talking to developers who actually use and understand the tools. I guess you could compare enterprise support to agency support as they are your first port of call - I might be biased but agency support always seems more personal (and quicker)!

Open source manages to sort a lot of these out:

Drupal open source options take 1-2 hours to get working. If you haven't used them before, they can be learnt quickly:

  • Drupal modules you already know how to install and configure
  • OpenAI API you can test in minutes from their playground
  • Milvus running in Docker - standard infrastructure patterns
  • When something breaks, you can actually debug it because it's your setup

Vendors sell complexity as "room to grow" and "future-proofing." You're essentially paying for scale you'll never reach - I always think why not just start with the baseline requirements and grow organically. True future-proofing is owning a stack you can modify as your requirements actually evolve, not paying enterprise prices for every hypothetical scenario a sales team can imagine.

When You Might Actually Need an Enterprise Solution

Despite what I have just said, I do think there are legitimate scenarios where you might actually need something like Coveo:

You might genuinely need enterprise search if you have:

  • Massive scale: 50+ million documents with complex real-time indexing requirements that demand infrastructure you don't want to manage
  • True federated search requirements: You need unified search across dozens of genuinely disparate systems - Salesforce, SharePoint, SAP, custom databases, document management systems, legacy systems - with unified relevance scoring
  • Advanced commerce features: Product recommendations and personalisation engines that require years of data science optimisation, not just semantic search
  • Specific compliance mandates: Regulatory requirements demanding detailed audit trails, query logging, and governance features that you must demonstrate to auditors
  • Absolutely zero technical capacity: No developers on staff, no ability to maintain any infrastructure, and genuine need for a fully managed service where you never touch the underlying systems

For the project I implemented Coveo on, it was a multi site, multi language setup. The coolest thing (the only edge case outside regular semantic search) I saw was the ability to search for content in a different language - i.e you were on the Japanese site and you could search for applicable Japanese content in English. There were other things that could be implemented too like advanced analytics and AI predictive search but these all came with separate price tags.

Apart form this, most organisations overestimate their complexity and underestimate their technical capability. You probably have developers and can probably manage Docker containers or use a managed Milvus service like Zilliz Cloud. You probably have one primary content source (Drupal) and not dozens of enterprise systems requiring federated search.

The open source approach is fantastic when you are taking 1 step at a time. No need to throw the baby out with the bathwater: start with semantic search and move from there.

Getting Started: The Path Forward

If you've read this far and you're thinking "we need semantic search," here's your path forward:

I've already written the complete implementation walkthrough: Building Semantic Search in Drupal with Milvus: A Complete Step-by-Step Guide.

Everything you need is there:

  • Docker setup for Milvus locally
  • Drupal AI module configuration
  • OpenAI integration
  • Search API setup
  • Creating the search interface
  • Production deployment considerations

You could have this running in production by the end of the week if you were really enthusiastic!

For more ways to enhance your Drupal site with AI without enterprise price tags, see my article on 5 AI Quick Wins for Drupal. And if you're concerned about handling large-scale content processing efficiently, check out my guide on Drupal queue workers and cron.

Conclusion

Enterprise search vendors are selling yesterday's competitive advantage at tomorrow's prices. Semantic search isn't magic anymore. It's a commodity capability built on OpenAI embeddings (or any other provider's embeddings) and vector databases that cost pennies per query.

Smaller budgets can obtain semantic search and it will be expected by consumers (in the not so near future). Let's give the people what they want.

DrupalAISemantic SearchEnterpriseCost AnalysisOpen SourceCoveo
Bonnici

George Bonnici

Bonnici - Drupal Experts

Paper plane

Ready to start your next
Drupal project?

Let's build something reliable, scalable, and made to last.