Building your own search vs. buying search as a service
You’ve been tasked with implementing a search engine, and you’re trying to decide if you should build your own search or utilize search as a service. As you can imagine, building your own search requires a significant investment of time and resources. Depending on your use case and resource constraints, you will evaluate your options and move forward with a search implementation that makes the most sense for your project.
Key concerns for choosing a search implementation method for your project
Development resources – The first key concern for deciding how to implement search is whether you have a developer or development team that can work on the project. If you don’t have at least one developer for your search project, then you know you should go with search as a service. If you do have development resources, then project timeline is probably the next constraint you’ll want to consider.
Project timeline – How soon does your new search engine need to be up and running? Even if you have development resources for your project, it may make more sense to utilize a pre-built search solution rather than architecting your own, especially if your search engine needed to be implemented yesterday.
Scope of project and desired level of customization – If your search engine requires a high level of customization, it may make more sense for your team to build it. Although it will take some time to custom build your search engine, you will have full control over the end solution. On the other hand, if you go with a pre-built solution, there is only so much you can change. A good example of a company choosing to build their own search is Dell for their e-commerce website search engine.
Swiftype — Full-featured search as a service, built on the Elastic Stack
At Swiftype, we provide a full-featured search as a service solution built on top of the Elastic Stack (Elasticsearch, Beats, Logstash, Kibana), a powerful technology for indexing, searching and visualizing data in realtime. If you’re a developer, the Elastic Stack is an extremely useful technology for building search engines. But, if you’re not a developer or you don’t have development resources available to you, using the Elastic Stack to implement search may not be an option.
Enter Swiftype — a search as a service solution that’s easy to implement. Swiftype enables you to index your data, fine-tune your search results through an intuitive dashboard, and implement your search UI by dropping a javascript snippet into your website source code.
Swiftype + Elastic: We know search
What’s nice about Swiftype is that we are owned by Elastic so our product is officially supported by the makers of the Elastic Stack, an open source technology that has more than 150 million downloads worldwide. The Elastic Stack is the go-to search technology for companies like Dell, Yelp, Goldman Sachs, Facebook, and Instacart; Swiftype makes that technology easily accessible to businesses and teams of all sizes and technical competency.
The Elastic Stack is the go-to search technology for companies like Dell, Yelp, Goldman Sachs, Facebook, and Instacart; Swiftype makes that technology easily accessible to businesses and teams of all sizes and technical competency.
What is full-featured search as a service?
Does it seem like Swiftype might be the ideal solution for your search use case? Let’s dig into what full-featured search as a service means and learn about how it can help your business.
Index as much data as you want – Swiftype enables you to easily index all of your data that you want to make searchable. There are two methods for indexing your data into Swiftype:
- Crawler – Swiftype’s crawler gathers and indexes data from your web pages in a similar manner to the way Google crawls data for its internet-wide search engine. To get started with the Swiftype crawler, you simply input your website’s URL and Swiftype will begin indexing your content. For more on getting started with the Swiftype web crawler, read this blog post.
- API – The Swiftype API gives you full programmatic control over the content in your search engine, enabling you the set the schema for the data that you index. For more on getting started with the Swiftype API, read this blog post.
If you’re trying to decide whether to use the crawler or the API, check out this blog post written by Swiftype cofounder Quin Hoxie.
State of the art relevance, right out of the box – Once Swiftype has indexed your content, you can begin utilizing your search engine. Because Swiftype is built on the Elastic Stack, the search engines we create for your data return very relevant results right out of the box.
Fine-tune your search results through an intuitive dashboard – No coding is required to tweak the relevancy of your search engine. If you do prefer to programmatically control your search engine’s relevancy, you can use the Swiftype API.
- Result Rankings – Utilize a drag-and-drop interface for ranking search results on a query-by-query basis. For each search term, you can also delete results that you don’t want to include and add results that are not included by default.
- Weights – With a simple slider, you can adjust the weight placed on a field and then immediately test the impact that the change has on your search engine. If you don’t like the changes, you can restore the default settings with the click of a button.
- Synonyms – Create groups of terms that will be treated as equivalent for the purposes of search (car = vehicle).
Robust search analytics – Your search bar is a great source of actionable data and Swiftype provides all of your user search data in a dashboard. You can use Swiftype Search Analytics to view:
- Volume of search queries
- Popular search queries
- Queries returning no results
- CTRs on search results
One meaningful way we’ve seen our customers utilize search analytics is for data-driven content development. Our customers will look at what popular search results are returning no results and then create content to fill those voids.
Search bar implementation – If you use the Swiftype crawler to index your data, then you can copy the code given to in your Swiftype dashboard and paste it onto your web pages where you want a search bar to appear. As for customizing your search installation’s appearance, Swiftype enables you to configure the look and feel of your search experience directly from the dashboard. For more information on customizing the appearance of your Swiftype installation, watch this video tutorial.
If you use the Swiftype API to index your data or if you want to fully customize your search UI, you can use the Swiftype search and autocomplete jQuery libraries to implement your search bar.
For those who are more technically-savvy, Swiftype’s API is extensively documented and enables you to build the search engine you want for your website or app.
Developer friendly – For those who are more technically-savvy, Swiftype’s API is extensively documented and enables you to build the search engine you want for your website or app. The Swiftype API endpoints enable you to easily index your data, perform and customize search queries and access analytics. Furthermore, if you’d prefer to interact with your Swiftype search engine via a client library, we currently support libraries for:
In review: Should we build or buy?
After reviewing some of the core features and capabilities of Swiftype Search as a Service, hopefully you have a better idea of whether or not it’s an ideal solution for your search project. To summarize, search as a service is a great option for projects that need to be implemented quickly and that don’t require a large amount of customization. If you’re building search for a specialized use case and you have a development team to support your project, then building your own search may be the way to go. Ultimately, if you’re leaning towards rolling your own search, I would first check out Swiftype as it’s a great starting point for search projects of all sizes.
Want to try out Swiftype Search as a Service? You can sign up for a 14-day free trial here.