> ## Documentation Index
> Fetch the complete documentation index at: https://doc.lucidworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Blob Store API

> Fusion Admin APIs

export const LwTemplate = ({title = "Key questions to get you started", icon = "sparkles", cta = "Powered by Agent Studio", linkHref = "https://lucidworks.com/demo/?utm_source=docs&utm_medium=referral&utm_campaign=docs_cta_ai"}) => {
  const [isLoaded, setIsLoaded] = useState(false);
  useEffect(() => {
    const timer = setTimeout(() => {
      setIsLoaded(true);
    }, 500);
    return () => clearTimeout(timer);
  }, []);
  return <div className="lw-template-container">
      <Card title={title} icon={icon}>
        {isLoaded && <span dangerouslySetInnerHTML={{
    __html: `<lw-template id="a029c1a9-28be-427e-b0e1-5d918920246a"></lw-template
            >`
  }} />}
        <Link href={linkHref} className="agent-studio-link text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Powered by Lucidworks Agent Studio</Link>
      </Card>
    </div>;
};

[localhost link]: http://localhost:3000/docs/5/fusion/dev-portal/api/api-swagger/blob-store-api

[mintlify link]: https://doc.lucidworks.com/docs/5/fusion/dev-portal/api/api-swagger/blob-store-api

[old doc.lw link]: https://doc.lucidworks.com/fusion/5.9/305

The Blob Store REST API allows storing binary objects in Solr. The primary use case for this is to store entity extraction models, lookup lists or exclusion lists for use in [index pipelines](/docs/5/fusion/getting-data-in/indexing/index-pipelines/index-pipeline-stages). This may include the entity extraction models and lookup lists included with Fusion in the `{fusion_path}/data/nlp` directory, or files that you have created on your own.

You can also work with blobs in the Fusion UI using the [blob manager](/docs/5/fusion/getting-data-in/blob-storage).

When you upload a blob without specifying an app, the blob is stored in the `system_blobs` collection and you can access it via the **Use the Object Explorer**.

<Accordion title="Use the Object Explorer">
  <Note>
    **LucidAcademy**

    Lucidworks offers free training to help you get started.

    The **Course** for **The Object Explorer** focuses on how to view and manage objects such as collections, datasources, index and query pipelines, index and query profiles, and parsers within apps and share them to other applications:

    <Frame>
      <a href="https://academy.lucidworks.com/the-object-explorer" target="_blank">
        <div class="note-image-wrapper">
          <img noZoom src="https://mintcdn.com/lucidworks/XAF97Y6rmusyML1l/assets/images/training-covers/object-explorer.png?fit=max&auto=format&n=XAF97Y6rmusyML1l&q=85&s=02c1f109e04bc728ab7104521e603ab8" alt="The Object Explorer" class="note-image" width="1920" height="1080" data-path="assets/images/training-covers/object-explorer.png" />

          <img noZoom src="https://mintcdn.com/lucidworks/Di65w1le998pswcf/assets/images/play-btn.svg?fit=max&auto=format&n=Di65w1le998pswcf&q=85&s=af49ac67eeff21aec8f19ca30724b934" alt="Play Button" class="note-image-overlay" width="100" height="100" data-path="assets/images/play-btn.svg" />
        </div>
      </a>
    </Frame>

    Visit the [LucidAcademy](https://academy.lucidworks.com) to see the full training catalog.
  </Note>

  <LwTemplate />

  ## Get started

  **How to open Object Explorer**

  On a PC, press Ctrl+K. On a Mac, press Command ⌘+K. Alternatively, click **System > Object Explorer**.

  Object Explorer opens and displays either a list of all objects in the current app, or the list of objects that match your most recent search in Object Explorer, whether during this Fusion session or a previous session.

  ## Search and browse

  * **Specify the context** To restrict the scope of searching and browsing, click **In Current App**, **In Any App**, or **In No Apps**.
  * **Browse all objects in the context** – Specify the context. Object Explorer displays a list of all objects. If you do not see a list of objects, press Enter in the **Filter** box.
  * **Search for objects** – Specify the context. Type any part of an object’s name or type (the gray, uppercase text below the name, for example, `PARSER`) in the **Filter** box. You can enter `group` to search for groups. Enter the search term in any case. Object Explorer displays a list of matching objects.
  * **Display related objects** (with a mouse) – With a list of objects present, click an object to select it. Object Explorer centers the object and displays all related objects.
  * **Display related objects** (with Tab keys) – With a list of objects present, tab from object to object. With an object highlighted, press Enter to select it. Object Explorer centers the object and displays all related objects.
  * **Move backward and forward through a history of results** – You can move backward and forward through a history of results, that is, the objects you have browsed to, searched for, and clicked on. To the right of the **Filter** box, click the arrow keys.
  * **Determine which apps an object is in** – Click **In any App**. You will see dots on the objects that represent the apps that the objects are in. To view a list of the apps for an object, hover over the object, and then click the App <img className="inline-image" alt="App" src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/icons/oe-app-menu.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=1e9322222ea76f70c278fb9c2a04ce9f" width="40" height="42" data-path="assets/images/4.0/icons/oe-app-menu.png" /> icon.
      <img src="https://mintcdn.com/lucidworks/l9y7VqRhZkN9hmR0/assets/images/4.0/object-explorer-app-dots.png?fit=max&auto=format&n=l9y7VqRhZkN9hmR0&q=85&s=2f807dbae3db3f2a885a9bbe2e791988" alt="Dots on app objects" width="2560" height="852" data-path="assets/images/4.0/object-explorer-app-dots.png" />

  ## Manage objects

  * **Edit an object’s name** – For some objects, for example, Group objects, clicking <img className="inline-image" alt="Edit" src="https://mintcdn.com/lucidworks/NgNm7Bp5nEBDIA7H/assets/images/4.0/icons/oe-edit-object.png?fit=max&auto=format&n=NgNm7Bp5nEBDIA7H&q=85&s=574852459e59e15244aa63d63eba741d" width="41" height="39" data-path="assets/images/4.0/icons/oe-edit-object.png" /> lets you edit the object’s name.
  * **Manage an object** – For most objects that display the <img className="inline-image" alt="Edit" src="https://mintcdn.com/lucidworks/NgNm7Bp5nEBDIA7H/assets/images/4.0/icons/oe-edit-object.png?fit=max&auto=format&n=NgNm7Bp5nEBDIA7H&q=85&s=574852459e59e15244aa63d63eba741d" width="41" height="39" data-path="assets/images/4.0/icons/oe-edit-object.png" /> icon when you hover over the object, !\[Edit" src="/assets/images/4.0/icons/oe-edit-object.png"/> takes you to the part of the Fusion UI where you can manage the object.
  * **Schedule a job or task** – Hover over an object that displays the Schedule <img className="inline-image" alt="Schedule" src="https://mintcdn.com/lucidworks/NgNm7Bp5nEBDIA7H/assets/images/4.0/icons/oe-schedule.png?fit=max&auto=format&n=NgNm7Bp5nEBDIA7H&q=85&s=a3e5bb906c2364f835e3a68a96c5fb4f" width="48" height="46" data-path="assets/images/4.0/icons/oe-schedule.png" /> icon when you hover. Click Schedule  <img className="inline-image" alt="Schedule" src="https://mintcdn.com/lucidworks/NgNm7Bp5nEBDIA7H/assets/images/4.0/icons/oe-schedule.png?fit=max&auto=format&n=NgNm7Bp5nEBDIA7H&q=85&s=a3e5bb906c2364f835e3a68a96c5fb4f" width="48" height="46" data-path="assets/images/4.0/icons/oe-schedule.png" />. From the scheduling dialog, you can click **Open Schedule** to open the Scheduler.

  ## Group objects

  Group objects to easily browse related objects. Fusion groups some objects for you. This is an example of viewing a group, in this case, the `_shared` group:

  <img src="https://mintcdn.com/lucidworks/l9y7VqRhZkN9hmR0/assets/images/4.0/object-explorer-shared-group.png?fit=max&auto=format&n=l9y7VqRhZkN9hmR0&q=85&s=312a7993dd7e863c41b9db859c93ed9b" alt="View a group" width="2560" height="1412" data-path="assets/images/4.0/object-explorer-shared-group.png" />

  There are four kinds of groups:

  * **System groups** ( <img className="inline-image" alt="system groups" src="https://mintcdn.com/lucidworks/NgNm7Bp5nEBDIA7H/assets/images/4.0/icons/oe-system-group.png?fit=max&auto=format&n=NgNm7Bp5nEBDIA7H&q=85&s=a8f70af8cd01c68a44ee79068d980441" width="48" height="48" data-path="assets/images/4.0/icons/oe-system-group.png" />) - Groups created by Fusion to group objects such as signals and items that are shared among apps. You cannot modify the membership of a system group.
  * **Recommendations groups** ( <img className="inline-image" alt="recommendations groups" src="https://mintcdn.com/lucidworks/NgNm7Bp5nEBDIA7H/assets/images/4.0/icons/oe-recommendations-group.png?fit=max&auto=format&n=NgNm7Bp5nEBDIA7H&q=85&s=71ab8bfff4b113fb0009d333c4d546d8" width="50" height="41" data-path="assets/images/4.0/icons/oe-recommendations-group.png" />) - Groups related to recommendations. These are a subtype of system groups. You cannot modify the membership of a recommendations group.
  * **User-defined groups** ( <img className="inline-image" alt="user-defined groups" src="https://mintcdn.com/lucidworks/NgNm7Bp5nEBDIA7H/assets/images/4.0/icons/oe-user-defined-group.png?fit=max&auto=format&n=NgNm7Bp5nEBDIA7H&q=85&s=cef29faf9f8cd4e143e6a5936f073916" width="48" height="48" data-path="assets/images/4.0/icons/oe-user-defined-group.png" />) - Groups you create and manage yourself. You can put whatever objects you like in them.
  * **Fusion-created groups that are not system groups** ( <img className="inline-image" alt="user-defined groups" src="https://mintcdn.com/lucidworks/NgNm7Bp5nEBDIA7H/assets/images/4.0/icons/oe-user-defined-group.png?fit=max&auto=format&n=NgNm7Bp5nEBDIA7H&q=85&s=cef29faf9f8cd4e143e6a5936f073916" width="48" height="48" data-path="assets/images/4.0/icons/oe-user-defined-group.png" />) - These look and behave like user-defined groups, but you do not create them. Fusion does. You can put objects in them.

  Procedures for managing groups are:

  * **View existing groups** – A *group* is a means of tagging objects with a shared, arbitrary identifier.
  * **Create a user-defined group** – Hover over an object that you want to add to the group you are creating, and that displays the Add To Group <img className="inline-image" alt="Add To Group" src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/icons/oe-add-to-group.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=412e1460c281ae97d1d1786b7256cef8" width="44" height="43" data-path="assets/images/4.0/icons/oe-add-to-group.png" /> icon when you hover. Click Add To Group  <img className="inline-image" alt="Add To Group" src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/icons/oe-add-to-group.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=412e1460c281ae97d1d1786b7256cef8" width="44" height="43" data-path="assets/images/4.0/icons/oe-add-to-group.png" />. Enter the name of a new group.

    A group name can only contain the characters `A-Z`, `a-z`, `0-9`, `-` (hyphen), and `_` (underscore).
  * **Add an object to a group** – Hover over an object that displays the Add To Group <img className="inline-image" alt="Add To Group" src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/icons/oe-add-to-group.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=412e1460c281ae97d1d1786b7256cef8" width="44" height="43" data-path="assets/images/4.0/icons/oe-add-to-group.png" /> icon when you hover. Click Add To Group  <img className="inline-image" alt="Add To Group" src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/icons/oe-add-to-group.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=412e1460c281ae97d1d1786b7256cef8" width="44" height="43" data-path="assets/images/4.0/icons/oe-add-to-group.png" />. Choose an existing group, or enter the name of a new group. You cannot add objects to the group `_shared`. Its members are calculated for you.
  * **Remove an object from a group** – Select the group from which you want to remove an object. Object Explorer centers the group. Hover over the object you want to remove, and then click Remove From Group  <img className="inline-image" alt="Remove From Group" src="https://mintcdn.com/lucidworks/NgNm7Bp5nEBDIA7H/assets/images/4.0/icons/oe-remove-from-group.png?fit=max&auto=format&n=NgNm7Bp5nEBDIA7H&q=85&s=0c294c6c47af14137a62bdf7fe6c26b3" width="46" height="48" data-path="assets/images/4.0/icons/oe-remove-from-group.png" />.
  * **Delete a user-defined group** – When you remove the last object from a user-defined group, the group remains. To delete it, hover over the group, and then click  <img className="inline-image" alt="Delete Group" src="https://mintcdn.com/lucidworks/NgNm7Bp5nEBDIA7H/assets/images/4.0/icons/oe-delete-group.png?fit=max&auto=format&n=NgNm7Bp5nEBDIA7H&q=85&s=85ab08886eb5a8c2e61dcb2bab295204" width="44" height="44" data-path="assets/images/4.0/icons/oe-delete-group.png" />.

  ## Share objects among apps

  Sharing objects among apps lets you configure something once and use it multiple times where needed. When you share an object, the object and any objects that the objects depends on are shared.

  <Warning>Fusion makes intelligent choices regarding what is shared among apps. Exercise caution when adding and removing objects from apps.</Warning>

  * **Add an object to an app** – While in the Fusion workspace for the app to which you want to add an object, open Object Explorer and click **In Any App**. Search for or browse to the object you want to add. Hover over the object, click the App <img className="inline-image" alt="App" src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/icons/oe-app-menu.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=1e9322222ea76f70c278fb9c2a04ce9f" width="40" height="42" data-path="assets/images/4.0/icons/oe-app-menu.png" /> icon, and then click **Add to this app**.
      <img src="https://mintcdn.com/lucidworks/l9y7VqRhZkN9hmR0/assets/images/4.0/object-explorer-add-to-app.png?fit=max&auto=format&n=l9y7VqRhZkN9hmR0&q=85&s=472088e9361aa1bc278ad7da50e9bbdf" alt="Add to this app" width="2560" height="938" data-path="assets/images/4.0/object-explorer-add-to-app.png" />
  * **Add an object to an app directly** – In cases when an object is linked to an app, but is not linked directly to the app (it is linked via some dependency), you can add the object to an app directly.
    While in the Fusion workspace for the app to which you want to add an object directly, open Object Explorer and click **In Any App**. Search for or browse to the object you want to add. Hover over the object, click the App <img className="inline-image" alt="App" src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/icons/oe-app-menu.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=1e9322222ea76f70c278fb9c2a04ce9f" width="40" height="42" data-path="assets/images/4.0/icons/oe-app-menu.png" /> icon, and then click **Add to this app directly**.
      <img src="https://mintcdn.com/lucidworks/l9y7VqRhZkN9hmR0/assets/images/4.0/object-explorer-add-directly-to-app.png?fit=max&auto=format&n=l9y7VqRhZkN9hmR0&q=85&s=af54840e096bbb4e6814c7eb5960d492" alt="Add to this app directly" width="2560" height="861" data-path="assets/images/4.0/object-explorer-add-directly-to-app.png" />
  * **Remove an object from an app** – While in the Fusion workspace for the app from which you want to remove an object, open Object Explorer and click **In Any App**. Search for or browse to the object you want to remove. Hover over the object, click the App <img className="inline-image" alt="App" src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/icons/oe-app-menu.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=1e9322222ea76f70c278fb9c2a04ce9f" width="40" height="42" data-path="assets/images/4.0/icons/oe-app-menu.png" /> icon, and then click **Remove**.
      <img src="https://mintcdn.com/lucidworks/l9y7VqRhZkN9hmR0/assets/images/4.0/object-explorer-remove-from-app.png?fit=max&auto=format&n=l9y7VqRhZkN9hmR0&q=85&s=748c1e85160e4361b57dd0beb3c383cc" alt="Remove" width="2560" height="944" data-path="assets/images/4.0/object-explorer-remove-from-app.png" />

  ## Close Object Explorer

  On a PC or Mac, press Esc or click Close <img className="inline-image" src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/icons/oe-close.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=d1721dbd03ae3ab7932c1815ac1dd313" width="36" height="34" data-path="assets/images/4.0/icons/oe-close.png" />. Alternatively on a Mac, you can press Command ⌘+K.
</Accordion>

<Note>
  Previously, you could use the Blob Store API to install connectors. Instead, use the **Install or update a connector - 5.2 and later**.
</Note>

<Accordion title="Install or update a connector - 5.2 and later">
  When you create a new datasource that requires an uninstalled connector, Fusion releases 5.2 and later automatically download and install the connector using the [Datasources dropdown](#install-a-connector-using-the-datasources-dropdown). You can also update the connector using the [Blob Store UI](#install-or-update-a-connector-using-the-blob-store-ui) or via the [Connector API](#install-or-update-a-connector-using-the-connector-api).

  ## Install a connector using the Datasources dropdown

  1. In your Fusion app, navigate to **Indexing** > **Datasources**.
  2. Click **Add**.
  3. In the list of connectors, scroll down to the connectors marked **Not Installed** and select the one you want to install.\
     Fusion automatically downloads it and moves it to the list of installed connectors.

  After you install a connector, you can Configure a New Datasource.

  <Tip>You can view and download all current and previous V2 connector releases at [Download Connectors](/docs/fusion-connectors/downloads/v2-connectors-downloads).</Tip>

  ## Install or update a connector using the Blob Store UI

  1. Download the connector zip file from [Download V2 connectors](/docs/fusion-connectors/downloads/v2-connectors-downloads).
     <Note>   Do not expand the archive; Fusion consumes it as-is.</Note>
  2. In your Fusion app, navigate to **System** > **Blobs**.
  3. Click **Add**.
  4. Select **Connector Plugin**.
       <img src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/blobs-add-connector.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=c021b250a83011d5f0af0dacd2d9a2fb" alt="Add a connector" width="2448" height="1042" data-path="assets/images/4.0/blobs-add-connector.png" />
     The "New Connector Plugin Upload" panel appears.
  5. Click **Choose File** and select the downloaded zip file from your file system.
       <img src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/blobs-connector-upload.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=8088bf62ac29e56ec5d67192a9a5b474" alt="Upload a connector" width="2454" height="1029" data-path="assets/images/4.0/blobs-connector-upload.png" />
  6. Click **Upload**.
     The new connector’s blob manifest appears.
       <img src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/blobs-edit.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=3e9922a16d5c702f2efa9cb8be63cb0e" alt="Uploaded connector" width="2454" height="1030" data-path="assets/images/4.0/blobs-edit.png" />
     From this screen you can also delete or replace the connector.

  <Warning>
    Wait several minutes for the connector to finish uploading to the blob store before installing the connector using the [Datasources dropdown](#install-a-connector-using-the-datasources-dropdown).
  </Warning>

  ## Install or update a connector using the Connector API

  1. Download the connector zip file from [Download V2 connectors](/docs/fusion-connectors/downloads/v2-connectors-downloads).

     <Note>   Do not expand the archive; Fusion consumes it as-is.</Note>
  2. Upload the connector zip file to Fusion’s plugins.
     Specify a `pluginId` as in this example:
     ```
     curl -H 'content-type:application/zip' -u USERNAME:PASSWORD -X PUT 'https://FUSION_HOST:FUSION_PORT/api/connectors/plugins?id=lucidworks.{pluginId}' --data-binary @{plugin_path}.zip
     ```
     Fusion automatically publishes the event to the cluster, and the listeners perform the connector installation process on each node.
       <Tip>
         If the `pluginId` is identical to an existing one, the old connector will be uninstalled and the new connector will be installed in its place. To get the list of existing plugin IDs, run: `curl -u USERNAME:PASSWORD https://FUSION_HOST:FUSION_PORT/api/connectors/plugins`
       </Tip>
  3. Look in `https://FUSION_HOST:FUSION_PORT/apps/connectors/plugins/` to verify the new connector is installed.

  ## Reinstall a connector

  To reinstall a connector for any reason, first delete the connector then use the preceding steps to install it again. This may take a few minutes to complete depending on how quickly the pods are deleted and recreated.
</Accordion>

For more information, [view the API specification.](/api-reference/blobs/get-blob-store-service-status)

## Blob Types

A `resourceType` query parameter can be used to specify the blob type. For example, specify `file` when uploading a text or CSV file, like this:

```bash wrap  theme={"dark"}
curl -H 'Content-Type: text/csv' -u USERNAME:PASSWORD -X PUT 'https://FUSION_HOST:FUSION_PORT/api/apps/APP_NAME/blobs/quickstart/EXAMPLE.csv?resourceType=file' --data-binary @/path/EXAMPLE.csv
```

The complete list of valid values for `resourceType` is below:

| Type                 | Description                                                                                                                                                        |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `banana`             | A Banana [dashboard](/docs/5/fusion/operations/monitoring-and-reporting/banana-dashboards/overview)                                                                |
| `catalog`            | An [analytics catalog](/docs/4/fusion-server/reference/api/catalog-api)                                                                                            |
| `driver:jdbc`        | A **Upload a JDBC Driver to Fusion Server**                                                                                                                        |
| `file:js-index`      | A JavaScript file for use with a [Managed Javascript index stage](/docs/5/fusion/reference/config-ref/pipeline-stages/index-stages/managed-javascript-index-stage) |
| `file:js-query`      | A JavaScript file for use with a [Managed Javascript query stage](/docs/5/fusion/reference/config-ref/pipeline-stages/query-stages/managed-javascript-query-stage) |
| `file`               | Any uploaded file, such as from the **Quickstart** or the [Index Workbench](/docs/5/fusion/intro/ui-tour/index-workbench)                                          |
| `unspecified`        | A blob of unknown type  If no `resourceType` is specified on upload, "other" is assigned by default.                                                               |
| `plugin:index-stage` | An [index stage plugin](/docs/5/fusion/dev-portal/index-stage-sdk)                                                                                                 |
| `plugin:query-stage` | A [query stage plugin](/docs/5/fusion/dev-portal/query-stage-sdk/overview)                                                                                         |

<AccordionGroup>
  <Accordion title="Upload a JDBC Driver to Fusion">
    The JDBC V2 connector is supported, and fetches documents from a relational database via SQL queries. Under the hood, this connector implements the Solr [DataImportHandler (DIH)](https://wiki.apache.org/solr/DataImportHandler) plugin.

    Fusion stores JDBC drivers in the blob store. You can upload a driver using the Fusion UI or the Blob Store API.

    ## How to upload a JDBC driver using the Fusion UI

    1. In the Fusion UI, navigate to **System** > **Blobs**.

    2. Click **Add**.

    3. Select **JDBC Driver**.\
       The "New 'JDBC Driver' Upload" panel appears.
           <img src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/blobstore_add_jdbcdriver1.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=b7d0a7b57734a2219cb107db40b0f210" alt="Uploading a connector" style={{ width: "450px" }} width="1041" height="686" data-path="assets/images/4.0/blobstore_add_jdbcdriver1.png" />

    4. Click **Choose File** and select the .jar file from your file system.
           <img src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/blobstore_add_jdbcdriver2.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=e722ae92551c19068ce783d6e71798b4" alt="Uploading connector" width="2455" height="1012" data-path="assets/images/4.0/blobstore_add_jdbcdriver2.png" />

    5. Click **Upload**.\
       The new driver’s blob manifest appears.
           <img src="https://mintcdn.com/lucidworks/5yWZ-KtZuBe4Y_Fg/assets/images/4.0/blobstore_add_jdbcdriver3.png?fit=max&auto=format&n=5yWZ-KtZuBe4Y_Fg&q=85&s=f3c48edcb769b7df7cd300dc449e249f" alt="Uploaded connector" width="2432" height="1009" data-path="assets/images/4.0/blobstore_add_jdbcdriver3.png" />

    From this screen you can also delete or replace the driver.

    ## How to install a JDBC driver using the API

    1. Upload the JAR file to Fusion’s blob store using the [`/blobs/{id}` endpoint](/docs/5/fusion/dev-portal/api/api-swagger/blob-store-api).

       Specify an arbitrary blob ID, and a `resourceType` value of `plugin:connector`, as in this example:

       ```bash theme={"dark"}
       curl -u USERNAME:PASSWORD -H "content-type:application/java-archive" -H "content-length:707261" -X PUT --data-binary @postgresql-42.0.0.jar http://localhost:8764/api/blobs/mydriver?resourceType=driver:jdbc
       ```

       Success response:

       ```json theme={"dark"}
       {
         "name" : "mydriver",
         "contentType" : "application/java-archive",
         "size" : 707261,
         "modifiedTime" : "2017-06-09T19:00:48.919Z",
         "version" : 0,
         "md5" : "c67163ca764bfe632f28229c142131b5",
         "metadata" : {
           "subtype" : "driver:jdbc",
           "drivers" : "org.postgresql.Driver",
           "resourceType" : "driver:jdbc"
         }
       }
       ```

       Fusion automatically publishes the event to the cluster, and the listeners perform the driver installation process on each node.

       <Tip>   If the blob ID is identical to an existing one, the old driver will be uninstalled and the new driver will installed in its place. To get the list of existing blob IDs, run: `curl -u USERNAME:PASSWORD https://FUSION_HOST:FUSION_PORT/api/blobs`</Tip>
    2. To verify the uploaded driver, run:

       ```bash theme={"dark"}
       curl -u USERNAME:PASSWORD https://FUSION_HOST:FUSION_PORT/api/blobs/BLOB_ID/manifest
       ```

       Where the `BLOB_ID` is the name specified during upload, such as "mydriver" above. A success response looks like this:

       ```json theme={"dark"}
       {
         "name" : "mydriver",
         "contentType" : "application/java-archive",
         "size" : 707261,
         "modifiedTime" : "2017-06-09T19:05:17.897Z",
         "version" : 1569755095787110400,
         "md5" : "c67163ca764bfe632f28229c142131b5",
         "metadata" : {
           "subtype" : "driver:jdbc",
           "drivers" : "org.postgresql.Driver",
           "resourceType" : "driver:jdbc"
         }
       }
       ```
  </Accordion>

  <Accordion title="Quickstart">
    The Quickstart is a wizard that lets you explore some of Fusion’s core capabilities:

    * Creating or selecting an app
    * Selecting a collection (where data is stored)
    * Indexing data
    * Searching

    <Note>
      **LucidAcademy**

      Lucidworks offers free training to help you get started.

      The **Course** for **Using The Quickstart Wizard** focuses on using the wizard to practice using the key functions of Fusion:

      <Frame>
        <a href="https://academy.lucidworks.com/using-the-quickstart-guide" target="_blank">
          <div class="note-image-wrapper">
            <img noZoom src="https://mintcdn.com/lucidworks/XAF97Y6rmusyML1l/assets/images/training-covers/quickstart-wizard.png?fit=max&auto=format&n=XAF97Y6rmusyML1l&q=85&s=f4118f16d28d914765645f10e5c0bec6" alt="Using The Quickstart Wizard" class="note-image" width="3332" height="1800" data-path="assets/images/training-covers/quickstart-wizard.png" />

            <img noZoom src="https://mintcdn.com/lucidworks/Di65w1le998pswcf/assets/images/play-btn.svg?fit=max&auto=format&n=Di65w1le998pswcf&q=85&s=af49ac67eeff21aec8f19ca30724b934" alt="Play Button" class="note-image-overlay" width="100" height="100" data-path="assets/images/play-btn.svg" />
          </div>
        </a>
      </Frame>

      Visit the [LucidAcademy](https://academy.lucidworks.com) to see the full training catalog.
    </Note>

    ## Step through the Quickstart wizard

    If it is not already open, open the Quickstart wizard. In the Fusion launcher, click **New here? Get started...**.

    <img src="https://mintcdn.com/lucidworks/zH_ln2rWO5G9pvTA/assets/images/5.0/quickstart-0.png?fit=max&auto=format&n=zH_ln2rWO5G9pvTA&q=85&s=329060363f0f5f90f8549d04c48d7ea3" alt="Quickstart" width="2880" height="1606" data-path="assets/images/5.0/quickstart-0.png" />

    1. Click **Continue**.

       On the **Select an App** screen, you can select or create an [app](/docs/4/fusion-server/concepts/overview) for your quickstart data.

           <img src="https://mintcdn.com/lucidworks/zH_ln2rWO5G9pvTA/assets/images/5.0/quickstart-1.png?fit=max&auto=format&n=zH_ln2rWO5G9pvTA&q=85&s=4052bec5c555a091d209b2ce5532f1c2" alt="quickstart-1" width="2560" height="1406" data-path="assets/images/5.0/quickstart-1.png" />

       If you click **Create new app**, Fusion prompts you to enter an app name (and optionally a description), then click **Create App** to return to the Quickstart.  Your new app is selected by default.
    2. After selecting an app, click **Continue**.

       On the **Select a Collection** screen, you can select or create a [collection](/docs/4/fusion-server/concepts/overview) for your quickstart data.  A collection with the same name as your app is created automatically:

           <img src="https://mintcdn.com/lucidworks/zH_ln2rWO5G9pvTA/assets/images/5.0/quickstart-2.png?fit=max&auto=format&n=zH_ln2rWO5G9pvTA&q=85&s=b8827c03f1fe2ad3098e2c2085eba784" alt="quickstart-2" width="2560" height="1406" data-path="assets/images/5.0/quickstart-2.png" />
    3. Click **Continue**.\
       On the **Index Data** screen, you can either select one of the built-in sample datasets or click **Use my data** to upload your own:

           <img src="https://mintcdn.com/lucidworks/zH_ln2rWO5G9pvTA/assets/images/5.0/quickstart-3.png?fit=max&auto=format&n=zH_ln2rWO5G9pvTA&q=85&s=aadb5946967cccea0d40b5506e05d62c" alt="quickstart-3" width="2560" height="1406" data-path="assets/images/5.0/quickstart-3.png" />
    4. Click **Continue**.\
       On the **Query Data** screen, you can see all search results and enter your own search queries to test the indexed dataset.  You can also select the display fields or view the parsed documents:

           <img src="https://mintcdn.com/lucidworks/zH_ln2rWO5G9pvTA/assets/images/5.0/quickstart-4.png?fit=max&auto=format&n=zH_ln2rWO5G9pvTA&q=85&s=7f56764e53b2a70e236498f26f1d5e5d" alt="quickstart-4" width="2560" height="1406" data-path="assets/images/5.0/quickstart-4.png" />
    5. Click **Continue**.

           <img src="https://mintcdn.com/lucidworks/zH_ln2rWO5G9pvTA/assets/images/5.0/quickstart-5.png?fit=max&auto=format&n=zH_ln2rWO5G9pvTA&q=85&s=f3f2322e0ae634f07e09dabc962edc6c" alt="quickstart-5" width="2560" height="1406" data-path="assets/images/5.0/quickstart-5.png" />

       From here, you can do the following:

       * Open the Index Workbench to change the index pipeline.
       * [Fusion 4.x Index Workbench](/docs/4/fusion-server/concepts/indexing/datasources/index-workbench)
       * [Fusion 5.x Index Workbench](/docs/5/fusion/intro/ui-tour/index-workbench)
       * Open the Query Workbench to change the query pipeline.
       * [Fusion 4.x Query Workbench](/docs/4/fusion-server/concepts/querying/query-workbench)
       * [Fusion 5.x Query Workbench](/docs/5/fusion/getting-data-out/query-basics/query-workbench)

         The workbenches are essentials tools in the Fusion workflow.
       * Open [App Studio](/docs/4/app-studio/overview) to create a user interface for searching this collection.

             <Note>
               App Studio is only available in Fusion 4.1 and 4.2.
             </Note>
  </Accordion>
</AccordionGroup>

## Examples

*Upload a JavaScript file to the blob store:*

**REQUEST**

```bash wrap  theme={"dark"}
curl -u USERNAME:PASSWORD -X PUT -H 'Content-Type: text/javascript' --data-binary @query-pipeline-js-stage.js https://FUSION_HOST:FUSION_PORT/api/blobs/query-pipeline-js-stage.js?resourceType=file:js-query
```

The response is empty.

*Verify that the JavaScript blob was uploaded:*

**REQUEST**

```bash wrap  theme={"dark"}
curl -u USERNAME:PASSWORD https://FUSION_HOST:FUSION_PORT/api/blobs?resourceType=file:js-query
```

**RESPONSE**

```json wrap  theme={"dark"}
[ {
  "id" : "query-pipeline-js-stage.js",
  "path" : "/query-pipeline-js-stage.js",
  "dir" : "/",
  "filename" : "query-pipeline-js-stage.js",
  "contentType" : "text/javascript",
  "size" : 0,
  "modifiedTime" : "2018-09-11T16:23:17.743Z",
  "version" : 1611328911094841344,
  "md5" : "d41d8cd98f00b204e9800998ecf8427e",
  "metadata" : {
    "resourceType" : "file:js-query"
  }
} ]
```

*Upload an OpenNLP sentence model binary file to the blob store:*

**REQUEST**

```bash wrap  theme={"dark"}
curl -u USERNAME:PASSWORD -X PUT --data-binary @data/nlp/models/en-sent.bin -H 'Content-type: application/octet-stream' https://FUSION_HOST:FUSION_PORT/api/blobs/sentenceModel.bin
```

<Note>
  In this example, we have changed the name of the blob during upload by giving it a different ID. The file is named 'en-sent.bin' but we have defined the ID of this to 'sentenceModel.bin'. When we use this blob in an index pipeline, we would refer to it by the ID we have given it.
</Note>

*Get the manifest for a sentence OpenNLP model we have previously saved in the blob store:*

**REQUEST**

```bash wrap  theme={"dark"}
curl -u USERNAME:PASSWORD -X HEAD https://FUSION_HOST:FUSION_PORT/api/blobs/sentenceModel.bin
```

**RESPONSE**

```json wrap  theme={"dark"}
{
  "name" : "sentenceModel.bin",
  "contentType" : "application/octet-stream",
  "size" : 98533,
  "modifiedTime" : "2014-09-08T18:50:07.559Z",
  "version" : 1478704189996531712,
  "md5" : "3822c5f82cb4ba139284631d2f6b7fde"
}
```

*Upload a JDBC driver, using slashes in the blob name:*

**REQUEST**

```bash wrap  theme={"dark"}
curl -u USERNAME:PASSWORD -X PUT --data-binary @en-sent.bin -H 'Content-length: 6' -H 'Content-type: application/octet-stream' https://FUSION_HOST:FUSION_PORT/api/blobs/good/to/go/sentenceModel.bin?resourceType=driver:jdbc
```

**RESPONSE**

```json wrap  theme={"dark"}
{
  "name" : "good/to/go/sentenceModel.bin",
  "contentType" : "application/octet-stream",
  "size" : 6,
  "modifiedTime" : "2017-04-04T15:58:32.856Z",
  "version" : 0,
  "md5" : "b1946ac92492d2347c6235b4d2611184",
  "metadata" : {
    "subtype" : "driver:jdbc",
    "resourceType" : "driver:jdbc"
  }
}
```

*Get the JDBC driver that was uploaded:*

**REQUEST**

```bash wrap  theme={"dark"}
curl -u USERNAME:PASSWORD https://FUSION_HOST:FUSION_PORT/api/blobs?resourceType=driver:jdbc
```

**RESPONSE**

```json wrap  theme={"dark"}
[ {
  "name" : "good/to/go/sentenceModel.bin",
  "contentType" : "application/octet-stream",
  "size" : 6,
  "modifiedTime" : "2017-04-04T06:21:53.465Z",
  "version" : 1563727666574524416,
  "md5" : "b1946ac92492d2347c6235b4d2611184",
  "metadata" : {
    "subtype" : "driver:jdbc",
    "resourceType" : "driver:jdbc"
  }
} ]
```
