{"id":4050,"date":"2024-09-11T09:59:55","date_gmt":"2024-09-11T16:59:55","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/"},"modified":"2024-09-11T09:59:55","modified_gmt":"2024-09-11T16:59:55","slug":"couchbase-shell-cbsh-v1-0-vector-search","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-shell-cbsh-v1-0-vector-search\/","title":{"rendered":"Couchbase Shell (cbsh) Reaches v1.0: Unlocking the Power of Vector Search &#038; Beyond"},"content":{"rendered":"\n<p><span>We are thrilled to announce the General Availability (GA) of <\/span><a href=\"https:\/\/couchbase.sh\/\"><span>Couchbase Shell (cbsh)<\/span><\/a><span>, a powerful command-line tool built on top of <\/span><a href=\"https:\/\/www.nushell.sh\/\"><span>nushell<\/span><\/a><span> designed to make your interactions with Couchbase easier and more efficient. Couchbase shell supports powerful <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/announcing-vector-search\/\"><span>vector search capabilities<\/span><\/a><span> that can be used to power GenAI applications by allowing applications to retrieve semantically similar items based on <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/what-are-vector-embeddings\/\"><span>vector embedding<\/span><\/a><span> representations of the items in a multi-dimensional space. With this release, cbsh introduces <\/span><a href=\"https:\/\/www.couchbase.com\/products\/vector-search\/\"><span>vector search<\/span><\/a><span> support enabling users to create vector indexes and conduct vector searches (such as similarity search) right from the command line. This enables many use cases for users such as testing and modifying model parameters, ad hoc vector querying, and scripting from a simple command line interface.<\/span><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium\" src=\"https:\/\/www.couchbase.com\/wp-content\/uploads\/sites\/5\/2026\/05\/intro.gif\" width=\"1622\" height=\"1020\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>What is Couchbase Shell?<\/span><\/h2>\n\n\n\n<p><span>Couchbase Shell is an open source CLI tool tailored for developers and administrators working with <\/span><a href=\"https:\/\/cloud.couchbase.com\/\"><span>Couchbase Capella<\/span><\/a><span> and Couchbase Server. It allows users to quickly monitor, query, load data, export data, and conduct full vector searches via a simple command line tool that is easily extendable and has modern features such as syntax highlighting, intelligent autocomplete, contextual help, and error messages.<\/span><\/p>\n\n\n\n<p><span>The tool is available as a Couchbase<\/span><a href=\"https:\/\/docs.couchbase.com\/cloud\/third-party\/integrations.html#support-model\"><span> Community supported<\/span><\/a><span> project.<\/span><\/p>\n\n\n\n<p><span>Compatible with Linux, Mac, Windows (visit <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_installation\"><span>installation<\/span><\/a><span> documentation for the complete list).<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Key features<\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><span>Command pipelines, syntax highlighting and auto-completer<\/span><\/li>\n\n\n<li><span>Connection Management<\/span><\/li>\n\n\n<li><span>Loading Data<\/span><\/li>\n\n\n<li><span>Exporting Data<\/span><\/li>\n\n\n<li><span>Vector Search<\/span><\/li>\n\n\n<li><span>Key-Value (KV) Operation Support<\/span><\/li>\n\n\n<li><span>Query Data using SQL++<\/span><\/li>\n\n<\/ul>\n\n\n\n<p><span>Here are some of the standout features of the Couchbase Shell.\u00a0<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Command pipelines, syntax highlighting and auto-completer<\/span><\/h2>\n\n\n\n<p><span>In nushell, <\/span><a href=\"https:\/\/www.nushell.sh\/book\/pipelines.html\"><span>pipelines<\/span><\/a><span> allow the combination of many commands, similar to Linux pipes (|). Cbsh builds upon this by adding custom Couchbase commands to interact with your cluster. Additionally depending upon your shell it will enable syntax highlight and suggest you auto-complete. For example, the following uses basic nushell commands to open a local JSON file, then format it into a table:<\/span><\/p>\n\n\n\n<p><span>Note that the syntax highlighting may be different for you based on shell of your choice<\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; open user.json | wrap content | insert id {$in.content.id}<\/p>\n<p>\u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e<br \/>\n\u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e \u2502<br \/>\n\u2502 content \u2502 \u2502 id \u00a0 \u00a0     \u2502 20397\u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 username\u00a0 \u00a0\u2502 Charlie \u00a0 \u00a0\u2502 \u2502<br \/>\n\u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f \u2502<br \/>\n\u2502 id\u00a0 \u00a0 \u00a0 \u2502 20397 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f[\/crayon]<\/p>\n\n\n\n<p><span>Once <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_a_note_on_data_format\"><span>formatted in this way<\/span><\/a><span> you can pipe the result into the custom cbsh <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_a_note_on_data_format\"><span>doc upsert command<\/span><\/a><span> to insert\u00a0 the JSON into your Couchbase cluster. The full pipeline to open the doc, format and then upsert is:\u00a0<\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; nums-toggle=&#8221;false&#8221; wrap-toggle=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; open user.json | wrap content | insert id {$in.content.id} | doc upsert[\/crayon]<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Connection management<\/span><\/h2>\n\n\n\n<p><span>Couchbase Shell simplifies <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_connecting_to_a_cluster\"><span>connection management<\/span><\/a><span>, allowing you to establish and manage connections to Couchbase with minimal effort. Users have two options to connect to Couchbase:<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span>Command inline connection management (CLI arguments)<\/span><\/h3>\n\n\n\n<p><span>Connecting to Couchbase Shell via CLI arguments is straightforward and allows you to quickly start working with your Couchbase clusters from the command line. The primary arguments you&#8217;ll need to provide are the cluster connection string, your username, and your password. Additionally, you can specify other parameters like the bucket you wish to interact with, the specific scope and collection, and even the authentication mechanism if needed.<\/span><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span>Basic connection example<\/span><\/h4>\n\n\n\n<p><span>To <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_connecting_to_a_cluster\"><span>connect to a Couchbase cluster<\/span><\/a><span>, you can use the following command:<\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; .\/cbsh &#8211;username Administrator &#8211;connstr 127.0.0.1 -p password &#8211;disable-tls[\/crayon]<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><span>Connecting to a specific bucket<\/span><\/h4>\n\n\n\n<p><span>To connect to a bucket on a Couchbase cluster, you can use the following command:<\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; .\/cbsh &#8211;username Administrator &#8211;connstr 127.0.0.1 -p password &#8211;disable-tls \u2013bucket mybucket \u2013collection mycollection[\/crayon]<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span>Connection via config file<\/span><\/h3>\n\n\n\n<p><span>The first time that you run <em>.\/cbsh<\/em> you will receive a prompt asking if you\u2019d like to create a config file. If you choose \u201cyes\u201d, then the shell will provide you with a series of prompts to provide information about your default cluster. If you choose \u201cno\u201d then it will try to connect to a local cluster running on localhost using the \u201cAdministrator\u201d username and the password of \u201cpassword\u201d. The config file must be called <\/span><i><span>config<\/span><\/i><span> and be placed in a <\/span><i><span>.cbsh<\/span><\/i><span> dot file either in your home directory or in the directory from which the shell is being run. More details can be found on our <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_the_config_dotfiles\"><span>documentation website<\/span><\/a><span>.<\/span><\/p>\n\n\n\n<p><span>Below configuration example shows you how to define two different clusters &#8211; one in Capella and another in a local Couchbase cluster. Optionally, users can also add a large language model (LLM) configuration which we will describe later in the Vector Search section.<\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]version = 1<\/p>\n<p>[[cluster]]<br \/>\nidentifier = &#8220;capella&#8221;<br \/>\nconnstr = &#8220;couchbases:\/\/uri.cloud.couchbase.com&#8221;<br \/>\nuser-display-name = &#8220;Vishal Dhiman&#8221;<br \/>\nusername = &#8220;vishal&#8221;<br \/>\npassword = &#8220;password&#8221; # Replace this with password from database access credentials<\/p>\n<p>[[cluster]]<br \/>\nidentifier = &#8220;local&#8221;<br \/>\nconnstr = &#8220;couchbase:\/\/127.0.0.1&#8221;<br \/>\ndefault-bucket = &#8220;travel-sample&#8221;<br \/>\nusername = &#8220;vishal&#8221;<br \/>\npassword = &#8220;password&#8221;<br \/>\ndata-timeout = &#8220;5s&#8221;<br \/>\nconnect-timeout = &#8220;1m 15s&#8221;<br \/>\nsearch-timeout = &#8220;1m 15s&#8221;<br \/>\nanalytics-timeout = &#8220;1m 15s&#8221;<br \/>\nmanagement-timeout = &#8220;1m 15s&#8221;<br \/>\ntransaction-timeout = &#8220;1m 15s&#8221;<br \/>\ntls-enabled = false<\/p>\n<p>[[llm]]<br \/>\nidentifier = &#8220;OpenAI-small&#8221;<br \/>\nprovider = &#8220;OpenAI&#8221;<br \/>\nembed_model = &#8220;text-embedding-3-small&#8221;<br \/>\nchat_model = &#8220;gpt-4o-mini&#8221;<br \/>\napi_key = &#8220;model_key&#8221;<\/p>\n<p>#[llm]<br \/>\n#provider = &#8220;Gemini&#8221;<br \/>\n#api_key = &#8220;gogetyourown&#8221;<br \/>\n[\/crayon]<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Loading data<\/span><\/h2>\n\n\n\n<p><a href=\"https:\/\/couchbase.sh\/docs\/#_importing_data\"><span>Loading data<\/span><\/a><span> into Couchbase using Couchbase Shell is a straightforward process that allows you to quickly populate your database with options to load data:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><span>Single document JSON files<\/span><\/li>\n\n\n<li><span>Multiple documents JSON files<\/span><\/li>\n\n\n<li><span>CSV files<\/span><\/li>\n\n\n<li><span>Any call to CLI that will output structured text supported by nushell<\/span><\/li>\n\n<\/ul>\n\n\n\n<p><span>Users can use <\/span><i><span>open<\/span><\/i><span> or <\/span><i><span>from<\/span><\/i><span> command to first load data into Couchbase Shell which can then be sent to Couchbase Server using <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_doc_import\"><i><span>doc import<\/span><\/i><\/a><span> or <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_doc_import\"><i><span>doc upsert<\/span><\/i> <\/a><span>commands.<\/span><\/p>\n\n\n\n<p><span>Visit our documentation for <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_loading_data_into_the_shell\"><span>code samples<\/span><\/a><span> and <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_importing_data\"><span>load data recipes<\/span><\/a><span>.<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Exporting data<\/span><\/h2>\n\n\n\n<p><span>Exporting data from Couchbase using the Couchbase Shell is a powerful way to back up your data, move it between environments, or simply extract it for analysis. The cbsh tool provides a straightforward command to export data directly from your Couchbase cluster into JSON files, making it easy to handle data outside of the database environment. The export counterparts to <\/span><i><span>open<\/span><\/i><span> and <\/span><i><span>from<\/span><\/i><span>, are <\/span><i><span>save<\/span><\/i><span> and <\/span><i><span>to<\/span><\/i><span>. You can use both commands to take tabular data from the shell and store it in files of the needed target format.<\/span><\/p>\n\n\n\n<p><span>Visit our documentation for <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_exporting_data_from_the_shell\"><span>code samples<\/span><\/a><span> and <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_exporting_data\"><span>export data recipes<\/span><\/a><span>.<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Vector search<\/span><\/h2>\n\n\n\n<p><span>The headline feature of this release is the support for <a href=\"https:\/\/www.couchbase.com\/blog\/tag\/vector-search\/\">vector search<\/a>. This capability allows you to perform similarity searches on a given corpus of document, all from a command line (CLI) interface. This is super useful to try and test your models and conduct ad-hoc vector searches easily via command line.<\/span><\/p>\n\n\n\n<p><span>Vector search in Couchbase is powered by the integration of AI\/ML models that convert text, images, or other data types into vectors. These vectors can then be compared to find similar items, providing a more relevant search experience compared to traditional keyword-based approaches.<\/span><\/p>\n\n\n\n<p><span>Before users can start vector search, users need to define which large language model (LLM) they want to use. Currently, cbsh supports the following LLMs:<\/span><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><span>OpenAI<\/span><\/li>\n\n\n<li><span>Gemini (Google)<\/span><\/li>\n\n\n<li><span>Bedrock (AWS)<\/span><\/li>\n\n<\/ol>\n\n\n\n<p><span>Visit the <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_cb_env_llm\"><span>LLM documentation<\/span><\/a><span> for configuration samples.<\/span><\/p>\n\n\n\n<p><span>Typically, vector search is a three step process:<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1 &#8211; Generate embeddings for fields in a collection<\/h3>\n\n\n\n<p><span>This is typically done when documents are created or updated, or if already have an existing dataset, do it as a bulk operation. With cbsh, this can be accomplished using the <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_vector_enrich_doc\"><i><span>vector enrich-doc<\/span><\/i><\/a><span>\u00a0command. For example, the following example has 3 parts piped together:<\/span><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><span>Query for documents in landmark collection.<\/span><\/li>\n\n\n<li><span>Send the <em>content<\/em>\u00a0field from the previous part\u2019s <em>resultset<\/em> to LLM to generate vector embeddings. In this step the specified field is sent to LLM\u2019s endpoint and the response is captured. Note that you must have LLM definition configured in the config file. If you have multiple models you want to experiment with, you can define multiple LLM in the config file and switch the LLM using <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_cb_env_llm\"><i><span>cb-env LLM<\/span><\/i><\/a><i><span> &lt;identifier&gt;<\/span><\/i><span> command. All the LLM\u2019s return back a default number of dimensions but you can override it using the <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_vector_enrich_doc\"><i><span>&#8211;dimensions<\/span><\/i><\/a><span> options. This command, by default, stores the vector in a field called fieldVector, which is <em>contentVector<\/em> in our example since the name of our field is <em>content<\/em>. You can override the default name of the vector field by using the <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_vector_enrich_doc\"><i><span>&#8211;vectorField<\/span><\/i><\/a><span>\u00a0option.<\/span><\/li>\n\n\n<li><span>Save the vector embeddings by upserting it back to the database.\u00a0<\/span><\/li>\n\n<\/ol>\n\n\n\n<p><span>This command sends the specified field (content) to the LLM defined in the config file which generates and returns vector embeddings. The returned vector embeddings are saved in the document, assuming the piped document has an id and content field. If not, user can specify a custom ID and content field.<\/span><\/p>\n\n\n\n<p><span>Note that this command assumed that default bucket is set to <em>travel-sample.<\/em><\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; query\u00a0 &#8216;SELECT * FROM `travel-sample.inventory.landmark`&#8217; | vector enrich-doc &#8211;dimension 1024 content | doc upsert &#8211;bucket &#8220;travel-sample&#8221; &#8211;scope &#8220;inventory&#8221; &#8211;collection &#8220;landmark&#8221;<br \/>\nBatch size limited to 2047<br \/>\nEmbedding batch 1\/3\u00a0<br \/>\nEmbedding batch 2\/3\u00a0<br \/>\nEmbedding batch 3\/3\u00a0<br \/>\n\u256d\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e<br \/>\n\u2502 # \u2502 processed \u2502 success \u2502 failed \u2502 failures \u2502 cluster \u2502<br \/>\n\u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502 0 \u2502\u00a0 \u00a0 \u00a0 4495 \u2502\u00a0 \u00a0 4495 \u2502\u00a0 \u00a0 \u00a0 0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 capella \u2502<br \/>\n\u2570\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f[\/crayon]<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2 &#8211; Create a vector index for saved embeddings<\/h3>\n\n\n\n<p><span>This is always run after step 1. With cbsh, this can be accomplished using the <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_vector_create_index\"><span><em>create-index<\/em><\/span><\/a><span> command The following command will create a new vector index named <em>landmark-contentVector-index<\/em>\u00a0over vectors with dimension 1024. Note that the dimensions specified here must match the dimensions value in step 1. If you use the default value of dimension from your LLM, you can check this number from LLM\u2019s documentation or just count the number of vector elements that were generated in step 1:<\/span><\/p>\n\n\n<p>[crayon wrap=&#8221;true&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; vector create-index &#8211;bucket &#8220;travel-sample&#8221; &#8211;scope &#8220;inventory&#8221; &#8211;collection &#8220;landmark&#8221; landmark-contentVector-index contentVector 1024[\/crayon]<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3 &#8211; Generate vector embedding for search keyword<\/h3>\n\n\n\n<p><b>Step 3:<\/b><span> Generate vector embedding for a search keyword using <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_vector_enrich_text\"><i><span>vector enrich-text<\/span><\/i><\/a><span>\u00a0command and conduct a vector search against the vector index using the <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_vector_search\"><i><span>vector search<\/span><\/i><\/a><span>\u00a0command:<\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; &#8220;physical activities&#8221; | vector enrich-text &#8211;dimension 1024 |\u00a0 vector search landmark-contentVector-index contentVector\u00a0<br \/>\nEmbedding batch 1\/1\u00a0<br \/>\n\u256d\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e<br \/>\n\u2502 # \u2502 \u00a0 \u00a0 \u00a0 id \u00a0 \u00a0 \u00a0 \u2502 \u00a0 score\u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 cluster \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502 0 \u2502 landmark_11956 \u2502 0.92583716 \u2502 capella cbshtesting \u2502<br \/>\n\u2502 1 \u2502 landmark_37999 \u2502 0.81547827 \u2502 capella cbshtesting \u2502<br \/>\n\u2502 2 \u2502 landmark_22054 \u2502 0.81547827 \u2502 capella cbshtesting \u2502<br \/>\n\u2570\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f[\/crayon]<\/p>\n\n\n\n<p><span>Finally, the result of a vector search can be piped into a doc or subdoc <\/span><i><span>get<\/span><\/i><span> to retrieve the contents of the found documents. Additionally, we can make the output prettier by only printing relevant fields:<\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; &#8220;physical activities&#8221; | vector enrich-text &#8211;dimension 1024 |\u00a0 vector search landmark-contentVector-index contentVector | subdoc get &#8211;collection landmark [title, name, phone, email, hours, address, content] | select id content<br \/>\nEmbedding batch 1\/1\u00a0<br \/>\n\u256d\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e<br \/>\n\u2502 # \u2502 \u00a0 \u00a0 \u00a0 id \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 content\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502 0 \u2502 landmark_11956 \u2502 \u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 title \u00a0 \u2502 London\/Hornchurch \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 name\u00a0 \u00a0 \u2502 Hornchurch Sports Centre\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 phone \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 email \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 hours \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 address \u2502 Hornchurch Road, Hornchurch, RM11 1JU \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 content \u2502 You can find several activities like swimming, squash, cricket and gym. \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 1 \u2502 landmark_22054 \u2502 \u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 title \u00a0 \u2502 Pembrokeshire\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 name\u00a0 \u00a0 \u2502 Celtic Quest Coasteering \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 phone \u00a0 \u2502 +44 1348 881530\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 email \u00a0 \u2502 info@celticquestcoasteering.com\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 hours \u00a0 \u2502 Open all year, 9.30am &amp; 2pm daily (Booking is essential) \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 address \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 content \u2502 Water-based adventure activity that can include cliff jumping, adventure swimming, scramble climbing and more. \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f \u2502<br \/>\n\u2502 2 \u2502 landmark_37999 \u2502 \u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 title \u00a0 \u2502 Abereiddy\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 name\u00a0 \u00a0 \u2502 Celtic Quest Coasteering \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 phone \u00a0 \u2502 +44 1348 881530\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 email \u00a0 \u2502 info@celticquestcoasteering.com\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 hours \u00a0 \u2502 Open all year, 9.30am &amp; 2pm daily (Booking is essential) \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 address \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 content \u2502 Water-based adventure activity that can include cliff jumping, adventure swimming, scramble climbing and more. \u2502 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f \u2502<br \/>\n\u2570\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f[\/crayon]<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Key-Value (KV) operation support<\/span><\/h2>\n\n\n\n<p><span>Couchbase shell natively supports performing <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_reading_and_writing_documents\"><span>key value operations<\/span><\/a><span>. Key-value operations are unique to Couchbase and provide very fast CRUD operations for documents stored in Couchbase.\u00a0<\/span><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span>cbsh command to read documents via KV service<\/span><\/h3>\n\n\n\n<p><span>You can retrieve a document with <\/span><em><a href=\"https:\/\/couchbase.sh\/docs\/#_reading\"><span>doc get<\/span><\/a><\/em><span>:<\/span><\/p>\n\n\n<p>[crayon nums=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; doc get &#8211;collection airline airline_10\u00a0<br \/>\n\u256d\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e<br \/>\n\u2502 # \u2502 \u00a0 \u00a0 id \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 content\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 cas \u00a0 \u00a0 \u00a0 \u00a0 \u2502 error \u2502 cluster \u2502<br \/>\n\u251c\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524<br \/>\n\u2502 0 \u2502 airline_10 \u2502 \u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e \u2502 1722951864428789760 \u2502 \u00a0 \u00a0 \u00a0 \u2502 capella \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 id \u00a0 \u00a0 \u00a0 \u2502 10\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 type \u00a0 \u00a0 \u2502 airline \u00a0 \u00a0 \u00a0 \u2502 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 name \u00a0 \u00a0 \u2502 40-Mile Air \u00a0 \u2502 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 iata \u00a0 \u00a0 \u2502 Q5\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 icao \u00a0 \u00a0 \u2502 MLA \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 callsign \u2502 MILE-AIR\u00a0 \u00a0 \u00a0 \u2502 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2502 country\u00a0 \u2502 United States \u2502 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2502 \u00a0 \u2502\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u2502 \u00a0 \u00a0 \u00a0 \u00a0 \u2502<br \/>\n\u2570\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f[\/crayon]<\/p>\n\n\n\n<p><span>To distinguish the actual content from the metadata, the content is nested in the content field. If you want to have everything at the toplevel, you can pipe to the flatten command:<\/span><\/p>\n\n\n\n<p><p>[crayon nums=&#8221;false&#8221; nums-toggle=&#8221;false&#8221; wrap-toggle=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; open user.json | wrap content | insert id {$in.content.id} | doc upsert[\/crayon]<\/p>\n0<\/p>\n\n\n\n<p><span>And you can get multiple documents by using a command like below:<\/span><\/p>\n\n\n\n<p><p>[crayon nums=&#8221;false&#8221; nums-toggle=&#8221;false&#8221; wrap-toggle=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; open user.json | wrap content | insert id {$in.content.id} | doc upsert[\/crayon]<\/p>\n1<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span>cbsh command to write documents via KV service<\/span><\/h3>\n\n\n\n<p><span>Documents can be mutated with <\/span><i><span>doc insert<\/span><\/i><span>, <\/span><i><span>doc upsert<\/span><\/i><span> and <\/span><i><span>doc replace<\/span><\/i><span>.<\/span><\/p>\n\n\n\n<p><span>All those three commands take similar arguments. If you only want to mutate a single document, passing in the ID and the content as arguments is the simplest way:<\/span><\/p>\n\n\n\n<p><p>[crayon nums=&#8221;false&#8221; nums-toggle=&#8221;false&#8221; wrap-toggle=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; open user.json | wrap content | insert id {$in.content.id} | doc upsert[\/crayon]<\/p>\n2<\/p>\n\n\n\n<p><span>Documents can be removed with <\/span><i><span>doc remove<\/span><\/i><span>.<\/span><\/p>\n\n\n\n<p><p>[crayon nums=&#8221;false&#8221; nums-toggle=&#8221;false&#8221; wrap-toggle=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; open user.json | wrap content | insert id {$in.content.id} | doc upsert[\/crayon]<\/p>\n3<\/p>\n\n\n\n<p><span>There are many more KV operations you can do such as <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_subdoc_get\"><i><span>subdoc get<\/span><\/i><\/a><span>. Please visit our documentation to learn more about KV operations.<\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Query data using SQL++<\/span><\/h2>\n\n\n\n<p><span>Running <\/span><a href=\"https:\/\/docs.couchbase.com\/cloud\/n1ql\/query.html\"><span>SQL++ queries<\/span><\/a><span> using the <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_query_commands\"><span>Couchbase Shell<\/span><\/a><span> is one of the most powerful features of the tool, enabling you to interact with your Couchbase data in a flexible and efficient manner. SQL++, an extension of SQL designed for JSON data, allows you to perform complex queries, including joins, aggregates, and subqueries, directly from the command line with cbsh.<\/span><\/p>\n\n\n\n<p><span>For example, we can see how many airlines are operating in \u2018France\u2019 in travel-sample data:<\/span><\/p>\n\n\n\n<p><p>[crayon nums=&#8221;false&#8221; nums-toggle=&#8221;false&#8221; wrap-toggle=&#8221;false&#8221; lang=&#8221;default&#8221; decode=&#8221;true&#8221;]&gt; open user.json | wrap content | insert id {$in.content.id} | doc upsert[\/crayon]<\/p>\n4<\/p>\n\n\n\n<p>SQL++ is even more powerful as users can use <a href=\"https:\/\/couchbase.sh\/docs\/#_query\">named parameters<\/a> and also use piping (|) to redirect the query command resultset to other commands. Visit our <a href=\"https:\/\/couchbase.sh\/docs\/#_query_commands\">documentation<\/a> for more details.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Get started<\/span><\/h2>\n\n\n\n<p><span>To help you get started with cbsh, we&#8217;ve prepared a detailed getting started guide on our <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_installation\"><span>documentation<\/span><\/a><span> website. Here\u2019s a quick overview of how to begin:<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><span><strong>Getting cbsh<\/strong>: Download cbsh for your operating system from the <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_installation\"><span>Couchbase shell website<\/span><\/a><span>.<\/span><\/li>\n\n\n<li><span><strong>Connect to Your Cluster<\/strong>: Recommended way is to create a config file as specified in <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_config_file_format\"><span>config file<\/span><\/a><span> documentation.<\/span><\/li>\n\n\n<li><span>Perform CRUD operations, <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_query_commands\"><span>run queries<\/span><\/a><span>, or <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_vector_commands\"><span>Vector Search<\/span><\/a><span>, and leverage Couchbase\u2019s powerful features. To get you started very quickly, our documentation provides existing <\/span><a href=\"https:\/\/couchbase.sh\/docs\/#_recipes\"><span>recipes<\/span><\/a><span> for some common use cases.<\/span><\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Community and open source support<\/span><\/h2>\n\n\n\n<p><span>We believe in the power of community and open-source development. Couchbase cbsh <\/span><a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-shell\"><span>is open source<\/span><\/a><span>, and we encourage you to contribute, provide feedback, and join the conversation. Join the <\/span><a href=\"https:\/\/www.couchbase.com\/forums\/\"><span>Couchbase Forums<\/span><\/a><span> or <\/span><a href=\"https:\/\/discord.com\/invite\/K7NPMPGrPk\"><span>Couchbase Discord.<\/span><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span>Further reading<\/span><\/h2>\n\n\n\n<p><span>To learn more, check out our <\/span><a href=\"https:\/\/couchbase.sh\/docs\/\"><span>documentation website<\/span><\/a><span>. It goes into more detail on various supported commands and configurations, especially around connection credentials, and examples of piping commands together to achieve desired results.<\/span><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><span><a href=\"https:\/\/couchbase.sh\/docs\/#_installation\">Download and install Couchbase Shell &#8211; cbsh<\/a><\/span><\/li>\n\n\n<li><a href=\"https:\/\/couchbase.sh\/docs\/#_installation\">Supported operating systems<\/a> are listed on our documentation website<\/li>\n\n<\/ul>\n\n\n\n<p><span>Happy command shell!<\/span><\/p>\n\n\n\n<p><span>The Couchbase Team<\/span><\/p>\n\n\n\n<p><br><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are thrilled to announce the General Availability (GA) of Couchbase Shell (cbsh), a powerful command-line tool built on top of nushell designed to make your interactions with Couchbase easier and more efficient. Couchbase shell supports powerful vector search capabilities that can be used to power GenAI applications by allowing applications to retrieve semantically similar [&hellip;]<\/p>\n","protected":false},"author":85357,"featured_media":4046,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[598,178,301,54,727,715],"tags":[888,889,890,433],"ppma_author":[854,891],"class_list":["post-4050","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artificial-intelligence-ai","category-connectors","category-cloud","category-couchbase-server","category-generative-ai-genai","category-vector-search","tag-cbsh","tag-cbshell","tag-couchbase-shell","tag-tooling"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.6 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Couchbase Shell (cbsh) Reaches v1.0: Unlocking the Power of Vector Search &amp; Beyond - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Couchbase releases Couchbase Shell (cbsh) with advanced vector search for GenAI and improved database interactions\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-shell-cbsh-v1-0-vector-search\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase Shell (cbsh) Reaches v1.0: Unlocking the Power of Vector Search &amp; Beyond\" \/>\n<meta property=\"og:description\" content=\"Couchbase releases Couchbase Shell (cbsh) with advanced vector search for GenAI and improved database interactions\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-shell-cbsh-v1-0-vector-search\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-11T16:59:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbase-Shell-Launch-Blog-Image.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Vishal Dhiman, Sr. Product Manager, Jack Westwood, Software Engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vishal Dhiman, Sr. Product Manager\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/\"},\"author\":{\"name\":\"Vishal Dhiman, Sr. Product Manager\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/853c7ac2867fb9e801ff769321364961\"},\"headline\":\"Couchbase Shell (cbsh) Reaches v1.0: Unlocking the Power of Vector Search &#038; Beyond\",\"datePublished\":\"2024-09-11T16:59:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/\"},\"wordCount\":2451,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/Couchbase-Shell-Launch-Blog-Image.jpg\",\"keywords\":[\"cbsh\",\"cbshell\",\"couchbase shell\",\"tooling\"],\"articleSection\":[\"Artificial Intelligence (AI)\",\"Connectors\",\"Couchbase Capella\",\"Couchbase Server\",\"Generative AI (GenAI)\",\"Vector Search\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/\",\"name\":\"Couchbase Shell (cbsh) Reaches v1.0: Unlocking the Power of Vector Search & Beyond - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/Couchbase-Shell-Launch-Blog-Image.jpg\",\"datePublished\":\"2024-09-11T16:59:55+00:00\",\"description\":\"Couchbase releases Couchbase Shell (cbsh) with advanced vector search for GenAI and improved database interactions\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/Couchbase-Shell-Launch-Blog-Image.jpg\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/05\\\/Couchbase-Shell-Launch-Blog-Image.jpg\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/couchbase-shell-cbsh-v1-0-vector-search\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase Shell (cbsh) Reaches v1.0: Unlocking the Power of Vector Search &#038; Beyond\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/06\\\/logo.svg\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/5\\\/2026\\\/06\\\/logo.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/853c7ac2867fb9e801ff769321364961\",\"name\":\"Vishal Dhiman, Sr. Product Manager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ad2dd2b2edf5b2980a7f817c518287fe8614c91968456b7b82f299bb4aea48bc?s=96&d=mm&r=gce9b4572288ed7a20d94f6b5a88c4578\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ad2dd2b2edf5b2980a7f817c518287fe8614c91968456b7b82f299bb4aea48bc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ad2dd2b2edf5b2980a7f817c518287fe8614c91968456b7b82f299bb4aea48bc?s=96&d=mm&r=g\",\"caption\":\"Vishal Dhiman, Sr. Product Manager\"},\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/pt\\\/author\\\/vishald\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase Shell (cbsh) Reaches v1.0: Unlocking the Power of Vector Search & Beyond - The Couchbase Blog","description":"Couchbase releases Couchbase Shell (cbsh) with advanced vector search for GenAI and improved database interactions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-shell-cbsh-v1-0-vector-search\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase Shell (cbsh) Reaches v1.0: Unlocking the Power of Vector Search & Beyond","og_description":"Couchbase releases Couchbase Shell (cbsh) with advanced vector search for GenAI and improved database interactions","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-shell-cbsh-v1-0-vector-search\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-09-11T16:59:55+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbase-Shell-Launch-Blog-Image.jpg","type":"image\/jpeg"}],"author":"Vishal Dhiman, Sr. Product Manager, Jack Westwood, Software Engineer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Vishal Dhiman, Sr. Product Manager","Est. reading time":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/"},"author":{"name":"Vishal Dhiman, Sr. Product Manager","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/853c7ac2867fb9e801ff769321364961"},"headline":"Couchbase Shell (cbsh) Reaches v1.0: Unlocking the Power of Vector Search &#038; Beyond","datePublished":"2024-09-11T16:59:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/"},"wordCount":2451,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbase-Shell-Launch-Blog-Image.jpg","keywords":["cbsh","cbshell","couchbase shell","tooling"],"articleSection":["Artificial Intelligence (AI)","Connectors","Couchbase Capella","Couchbase Server","Generative AI (GenAI)","Vector Search"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/","name":"Couchbase Shell (cbsh) Reaches v1.0: Unlocking the Power of Vector Search & Beyond - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbase-Shell-Launch-Blog-Image.jpg","datePublished":"2024-09-11T16:59:55+00:00","description":"Couchbase releases Couchbase Shell (cbsh) with advanced vector search for GenAI and improved database interactions","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbase-Shell-Launch-Blog-Image.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/Couchbase-Shell-Launch-Blog-Image.jpg","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-shell-cbsh-v1-0-vector-search\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase Shell (cbsh) Reaches v1.0: Unlocking the Power of Vector Search &#038; Beyond"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/06\/logo.svg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/06\/logo.svg","width":"1024","height":"1024","caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/853c7ac2867fb9e801ff769321364961","name":"Vishal Dhiman, Sr. Product Manager","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/ad2dd2b2edf5b2980a7f817c518287fe8614c91968456b7b82f299bb4aea48bc?s=96&d=mm&r=gce9b4572288ed7a20d94f6b5a88c4578","url":"https:\/\/secure.gravatar.com\/avatar\/ad2dd2b2edf5b2980a7f817c518287fe8614c91968456b7b82f299bb4aea48bc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ad2dd2b2edf5b2980a7f817c518287fe8614c91968456b7b82f299bb4aea48bc?s=96&d=mm&r=g","caption":"Vishal Dhiman, Sr. Product Manager"},"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/vishald\/"}]}},"acf":[],"authors":[{"term_id":854,"user_id":85357,"is_guest":0,"slug":"vishald","display_name":"Vishal Dhiman, Sr. Product Manager","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/vishal-dhiman-couchbase-5.jpg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/vishal-dhiman-couchbase-5.jpg"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""},{"term_id":891,"user_id":85521,"is_guest":0,"slug":"jackwestwood","display_name":"Jack Westwood, Software Engineer","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/jack-westwood-couchbase.png","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/5\/2026\/05\/jack-westwood-couchbase.png"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/4050","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/85357"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=4050"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/4050\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/4046"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=4050"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=4050"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=4050"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=4050"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}