# Tutorial: Building Your First Document Search App

This tutorial teaches you how to build a document search system in the easiest and fastest possible way. It uses the UI for uploading the sample files and a template for creating the document retrieval pipeline.

***

- **Level**: Beginner
- **Time to complete**: 10 minutes
- **Prerequisites**: 
  - This tutorial assumes a basic knowledge of language models.
  - You must be an Admin to complete this tutorial.
  - Make sure you have a <ProductShortName/> workspace where the information retrieval pipeline will run.
- **Goal**: After completing this tutorial, you will have built a complete English document retrieval system from scratch that can fetch NHS documents.

***

## Upload Files

First, let's get the files the search will run on into <ProductName/>.

1. Download the <a href="https://drive.google.com/file/d/1nrPBif9PTe2_VEcAJ2xMnZhdaxOxUhhg/view?usp=sharing" target="_blank">.zip file from gdrive</a> and unzip it to a location on your computer.
2. Log in to <a href="https://cloud.deepset.ai" target="\_blank"><ProductName/></a>, switch to the right workspace, and go to _Files_. 

<ClickableImage
  src="/img/tutorials/tutorial_first_doc_search_files.png"
  alt="The left navigation with step one on the workspace name and step two on the Files option."
  size="large"
/>
 
3. Click **Upload Files**, drag the files you unpacked in step 1, and drop them to the Upload Files window. (You must select all files in a folder; <ProductName/> doesn't support uploading folders.)
4. Click **Upload** and wait until the upload finishes. Even when the upload is finished, the files may take a while to show up in <ProductShortName/>. That's expected; just wait a while and refresh the page if needed.

**Result**: Your files have been uploaded and are shown on the Files page. You should have 953 files.

<ClickableImage
  src="/img/tutorials/tutorial_first_doc_search_number_of_files.png"
  alt="The Files page with the NHS files uploaded."
  size="large"
/>

<CreateIndex />

## Create a Pipeline

The next step is to define the components of your search app. We'll use a document search pipeline template with a vector retriever to create the pipeline.

1. Go to **Pipeline Templates**.

2. Choose _Document Search_ as the category, find _Semantic Document Search_, and click **Use Template**. 

<ClickableImage
  src="/img/tutorials/semantic_doc_search_template.png"
  alt="The Pipeline Templates page with the Semantic Document Search template shown."
  size="standard"
/>

3. Type _NHS_doc_search_ as the pipeline name and click **Create Pipeline**. You're redirected to Pipeline Builder.
4. Find the `OpenSearchDocumentStore` component (it has a warning message prompting you to choose an index) and choose the `standard-index` you previously created from the list on the component card.

<ClickableImage
  src="/img/tutorials/indexes_choose_index_tutorials.png"
  alt="The index selection on the document store card"
  size="large"
/>

5. To quickly test your pipeline, click **Run** on the toolbar and type "How do I treat atopic skin?". You should see the results in the chat window.

<ClickableImage
  src="/img/getting-started/run-pipeline-builder.png"
  alt="The Run button in Pipeline Builder"
  size="large"
/>

**Result**: You created a pipeline with an index, which means your documents have been indexed, and you can now run a search. 
Your pipeline is at the development service level. We recommend you test it before setting it to the production service level.

<ClickableImage
  src="/img/tutorials/nhs_docsearch.png"
  alt="The Pipelines page with the NHS doc retrieval pipeline shown as indexed and deployed"
  size="standard"
/>

## Test Your Pipeline

Before testing your pipeline, deploy it first. Click **Deploy** in the upper right corner of Builder. Wait until your pipeline status changes to *Deployed*.

When your pipeline is deployed:
1. Go to **Playground**.
2. Choose _NHS_doc_search_ as the pipeline.
3. Type queries related to health and check the documents retrieved. You can check the logs to see the retrieved documents or share your pipeline with others to gather their feedback.

<ClickableImage
  src="/img/tutorials/tutorial-check-logs-share.png"
  alt="The logs tab on the pipeline details page"
  size="standard"
/>

**Result**: Congratulations! You have built a search system that can retrieve documents related to health. You can now ask health-related queries, and it will find relevant documents.

## What's Next

Your pipeline is now a development pipeline. Once it's ready for production, change its service level to _Production_. You can do this on the Pipeline Details page shown after clicking a pipeline name. To learn more, see [Pipeline Service Levels](/docs/concepts/about-pipelines/about-pipelines.mdx#pipeline-service-levels).
