February 2021 Summaries
7 posts from Vespa
Filter
Month:
Year:
Post Summaries
Back to Blog
Vespa is a modern search platform that offers structured search, inverted index-based text search, and approximate nearest neighbors (ANN) based vector search, which has intrigued Sujit Pal, Technology Research Director at Elsevier Labs, due to its vector search capabilities. Despite its steep learning curve compared to Solr and Elasticsearch, Pal decided to learn Vespa by drawing analogies to Solr, which helped him quickly set up a minimal viable product application. Vespa is packaged as a Docker image and requires a specific hardware setup, with configuration involving a directory structure reminiscent of Maven projects. The platform supports both text and vector searches using a SQL-like query language (YQL), with extensive configuration possibilities for document types and query profiles. Pal's experiment utilized the CORD-19 dataset to populate the Vespa index, and he found the learning curve less daunting after initial setup, with plans to explore Vespa’s machine learning model integration and two-phase query capabilities in the future.
Feb 24, 2021
2,341 words in the original blog post.
Verizon Media's use of Vespa, an open-source big data serving engine, exemplifies how parent-child joins and tensor functions can enhance content recommendation by modeling topic popularity. Each time a user visits Yahoo.com, the system selects the best news articles from a vast pool by leveraging the topic's click-through rate (CTR), a key feature that addresses the cold-start problem and simplifies the complexity of categorical topics into a manageable numerical format. Vespa structures these CTRs using a global document approach, where each article references a global document containing topic CTRs, streamlining updates and minimizing data duplication. The article ranking process involves real-time joins and the use of Vespa's Tensor API to compute features like average and maximum topic CTRs, which contribute to the efficiency of machine-learned ranking models. By co-locating the global document on content nodes, Vespa reduces network load and system complexity, achieving rapid ranking of 10,000 articles in just 17.5 milliseconds, showcasing its capability to handle large-scale content recommendations in real-time.
Feb 22, 2021
1,190 words in the original blog post.
Vespa, an open-source AI platform, initially faced significant challenges with prolonged build times using a continuous integration (CI) platform, causing over two-hour delays for developers awaiting feedback on pull requests. After realizing the limitations of their initial CI provider, the team transitioned to Screwdriver, an open-source CI/CD platform developed by Yahoo/Verizon Media. By employing Screwdriver's advanced resource management and caching capabilities, Vespa successfully reduced build times from 50 minutes to 18 minutes for the master branch and further optimized pull request builds to as low as 8 minutes by selectively testing only the affected code areas. This transition led to a 75% reduction in time spent on builds and pull requests, significantly enhancing developer productivity and satisfaction.
Feb 22, 2021
573 words in the original blog post.
The blog post introduces the simplified pyvespa API, which allows users to build a basic text search application using Python with minimal code. The article explains how to create a Vespa application package, define a schema by adding fields, and set up a ranking profile using BM25 for document retrieval. It describes the steps to deploy the application locally using VespaDocker and emphasizes the ease of feeding data into the application by iterating through a DataFrame. The post also demonstrates querying the application using the Vespa Query Language, highlighting the flexibility and power of Vespa for text search tasks. The article notes that while the Vespa Query Language offers comprehensive control, the QueryModel abstraction is more suited for machine learning experiments, foreshadowing more complex applications in future posts.
Feb 18, 2021
1,633 words in the original blog post.
The blog post explores the application of Vespa's approximate nearest neighbor search functionality to identify similar products based on image feature vectors, using the Amazon Products dataset as a demonstration. It describes how to implement and configure a Vespa instance to handle product data, including indexing and searching capabilities for both textual and image-based data. The post highlights the use of the PyVespa Python API for exploring Vespa's features and managing data, such as real-time indexing and partial updates for inventory management. It also demonstrates how to combine nearest neighbor search with additional filters like price and inventory status, showcasing the flexibility and scalability of Vespa for e-commerce search solutions. The blog emphasizes the importance of maintaining an up-to-date search index through efficient data operations, ultimately enhancing product search and recommendation systems.
Feb 16, 2021
3,197 words in the original blog post.
The blog post recaps a meetup titled "The Great Search Engine Debate," featuring discussions among experts from Elasticsearch, Solr, and Vespa, focusing on Vespa's capabilities and features. Vespa is highlighted for its advanced retrieval and ranking capabilities using machine learning, its scalable and flexible indexing architecture, and its ability to handle real-time updates efficiently. It supports complex use cases like partial updates and integrates with various technologies, including Apache OpenNLP for language processing. The post also addresses Vespa's technical entry level, suggesting that while it may be more advanced than Elasticsearch and Solr, it's user-friendly with Docker and cloud deployment options. The discussion touches on Vespa's history, its performance in write-heavy applications, and its integration with Kubernetes. Vespa's real-time capabilities, support for non-English languages, and comparisons with other technologies like FAISS are also explored, emphasizing its strengths in handling large-scale, mutable data sets with distributed computations.
Feb 08, 2021
2,457 words in the original blog post.
In January 2021, Vespa, an open-source big data processing and serving engine developed largely by Yahoo engineers, introduced several product updates aimed at enhancing its performance and usability. These updates include automatic reindexing, which allows Vespa to automatically reprocess stored data when the indexing pipeline changes, eliminating the need for data re-feed and improving application relevance. Additionally, sparse tensor dot product performance was optimized, reducing latency by 64% and tripling query throughput for specific tests. Query profile variant initialization was also accelerated, loading configurations 10 times faster in complex scenarios. A new explainlevel query parameter was introduced, enabling detailed tracing of query execution for debugging purposes. Furthermore, system testing can now be invoked from pull requests, ensuring that all checks, especially those involving config models and dependency injections, are thoroughly validated before integration. Vespa is used in various Yahoo and Verizon Media products, and thanks to community feedback, it continues to evolve.
Feb 02, 2021
491 words in the original blog post.