Back to Vespa

Vespa clients

client/README.md

8.683.242.2 KB
Original Source
<!-- Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. --> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://assets.vespa.ai/logos/Vespa-logo-green-RGB.svg"> <source media="(prefers-color-scheme: light)" srcset="https://assets.vespa.ai/logos/Vespa-logo-dark-RGB.svg"> </picture>

Vespa clients

This part of the Vespa repository got Vespa client implementations for operations like

  • deploy
  • read/write
  • query
<!-- ToDo: illustration -->

Vespa CLI

The Vespa command-line tool, see the README. Use the Vespa CLI to deploy, feed and query a Vespa application, for local, self-hosted or Vespa Cloud instances.

pyvespa

pyvespa provides a python API to Vespa - use it to create, modify, deploy and interact with running Vespa instances. The main pyvespa goal is to allow for faster prototyping and to facilitate Machine Learning experiments for Vespa applications.

Vespa FE (fixme: better name and description here)

This is a work-in-progress javascript app for querying a Vespa application.


Misc

<!-- ToDo: move this / demote this somehow -->

vespa_query_dsl

This lib is used for composing Vespa YQL queries. For usage, refer to the QTest.java unit test.

ToDos:

  • support predicate (https://docs.vespa.ai/en/querying/predicate-fields.html)
  • support methods for checking positive/negative conditions for specific field
  • support order by annotation
  • support order by
  • support sub operators in contains (sameElement, phrase, near, onear, equiv)
  • support group syntax
  • support nonEmpty
  • support dotProduct
  • support weightedSet
  • support wand
  • support weakAnd
  • support userInput
  • support rank
  • support filter annotation
  • unit tests
  • support other annotations
  • handle edge cases (e.g. Q.b("test").contains("a").build())