---
schema_version: "1"
id: c80da1348628724fa96b03cc2020a2969471b03b57034dcfa53672a35b852afb
title: Legacy Search Experience
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/exchange/legacy-search-experience.md
canonical_url: https://docs.mulesoft.com/exchange/legacy-search-experience
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 2307d4c856812c40d683988deb1f9cda404f804107a71666c0cc23393de99104
description: MuleSoft Documentation Site
latest: true
---
---
product: Exchange
---

# Legacy Search Experience

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

The legacy search experience, which was previously called the old search, is available in Anypoint
Platform Private Cloud Edition, MuleSoft Government Cloud, the US cloud, and the EU cloud. This
search experience does not include the enhanced options for searching by rank, organizations, and
lifecycle states. The enhanced search is the default search experience when logging into Exchange.

To access the legacy search, click the **Back to legacy search** button from the landing page.

## Display Assets in List or Grid View

You have the option to display the catalog of assets in list or grid view. List view arranges assets
in a list format and grid view displays the assets in tiles. Both views display the asset name,
type, rating, and created by information.

## Filter Search Results

You can filter search results by asset types (for example, API groups, REST APIs, and rulesets) by
selecting an option from the **All types** drop-down menu. The options that appear depend on which
types are available within an organization.

## Search in Organization

You can search only in the Exchange organization that you are currently viewing. If you are viewing
a private Exchange organization, the search lists only that organization’s assets and not MuleSoft
public assets.

## Save a Search

You can save search criteria that you use often for quick discovery of specific assets.

1.  Enter a search term and click **Save This Search**.

2.  When prompted, give the search a name and select whether the search is an organizational search
    or personal search.

    Administrators can save searches visible to anyone in their current business group. Personal
    searches are visible only to the person who creates them.

3.  Save the search.

4.  Confirm that your search appears in the saved searches in the left navigation bar.

    Exchange lists search terms specific to your business group and the saved searches you created:

    ![A list of saved searches"](/mulesoft/current/en-us/exchange/_images/ex2-saved-searches-groups.png)

## Search API Specifications

You can use the following API specification properties that are used in search:

- API title

- Base URI

- Endpoints

  - Path

  - Display name

  - Description

- Methods

  - Method type (GET, POST, PUT)

  - Description

- Query parameters

  - Name

  - Description

- URI parameters

  - Name

- Types

  - Name

  - Properties

- Traits

- Properties

- Security schemas

These property names are based on RAML specifications. Equivalent properties are indexed for OAS
specifications. For example, RAML uses base URI, OAS 2.0 uses host and base path, and OAS 3.x uses
servers.

This example shows an API specification:

```text
#%RAML 1.0
---
title: Leagues API
version: v1
baseUri: https://leagues.com/api/

types:
 Team:
   properties:
     name: string
     city: string

/leagues/{leagueId}:
 displayName: League resource
 description: Contains all the information about a league
 uriParameters:
   leagueId:
     displayName: League ID
     description: The ID of the league to retrieve information from
 /teams:
   get:
     displayName: Teams directory
     description: Get list of all teams in the league
     queryParameters:
       offset:
         displayName: Offset
         description: Offset for the result set
     responses:
       200:
         body:
           application/json:
               type: Team[]
   post:
     displayName: Create team
     description: Creates a new team in the league
     responses:
       201:
         description: New team has been created
```

These search results include this API:

<table><colgroup><col> <col></colgroup><thead><tr><th>Search term</th><th>Matches</th></tr></thead><tbody><tr><td><p>league API</p></td><td><p>API title</p></td></tr><tr><td><p>leagues.com</p></td><td><p>API baseUri</p></td></tr><tr><td><p><code>/leagues</code></p></td><td><p>Endpoint path</p></td></tr><tr><td><p>League resource</p></td><td><p>Endpoint display name</p></td></tr><tr><td><p>Information about a league</p></td><td><p>Endpoint description</p></td></tr><tr><td><p>POST</p></td><td><p>Endpoint method</p></td></tr><tr><td><p>create team</p></td><td><p>Endpoint method description</p></td></tr><tr><td><p>offset</p></td><td><p>Query parameter name, Query parameter description</p></td></tr><tr><td><p>leagueid</p></td><td><p>URI parameter name</p></td></tr><tr><td><p>team</p></td><td><p>Type name</p></td></tr><tr><td><p>city</p></td><td><p>Type property name</p></td></tr><tr><td><p>leagues leagueId teams</p></td><td><p>Endpoint path</p></td></tr><tr><td><p><code>/leagues/LEAGUE_ID/teams</code></p></td><td><p>Endpoint path</p></td></tr></tbody></table>

Note that the last two searches are the same, because special characters are removed before
searching.

## Search for Phrases

You can search for case-insensitive text that begins with each word you specify by adding a space
between words. This is similar to putting the `*` wildcard regular expression after each word. For
example, searching for `mq module` finds any asset that has text that starts with `mq` or `module`.

Searching for a multiple-word phrase shows assets that have every word in the phrase.

If you separate search words with any non-alphanumeric character other than a space, Anypoint
Exchange converts the character to a space before searching.

### Search Separators

The search experience uses search separators to find Exchange assets that contain one or more terms.

If you enter search words connected by non-alphanumeric symbols, Exchange replaces the symbols with
spaces before searching for the term. The search string only succeeds if both words are present in
the result. The result is equivalent to using `word1 AND word2` relationship.

Example search terms:

```text
sales:connect
Sales-Connect
connect:/sales
-connect -sales
```

This table shows how each search term is interpreted based on the values in the asset name, asset
ID, and tags for an asset. If the search term maps to the values correctly, a match occurs. If not,
the reason displays when the match does not occur.

<table><colgroup><col> <col> <col> <col></colgroup><thead><tr><th>Asset Name</th><th>Asset ID</th><th>Tags</th><th>Matches?</th></tr></thead><tbody><tr><td><p>Salesforce API</p></td><td><p>salesforce-api</p></td><td><p>mule-Connector</p></td><td><p>Yes</p></td></tr><tr><td><p>Salesforce Connector</p></td><td><p>salesforce-connector</p></td><td><p>REST</p></td><td><p>Yes</p></td></tr><tr><td><p>Validations API</p></td><td><p>validations-api</p></td><td><p>salesforce-connecting</p></td><td><p>Yes</p></td></tr><tr><td><p>Optimized API</p></td><td><p>optimized-api</p></td><td><p>resource:/connect, salesforce:enabled</p></td><td><p>Yes</p></td></tr><tr><td><p>Cisco Sales API</p></td><td><p>cisco-sales-api</p></td><td><p>Connecting, Productive</p></td><td><p>Yes</p></td></tr><tr><td><p>Cisco Connector</p></td><td><p>cisco-connector</p></td><td><p>com.cisco.connector.sales</p></td><td><p>Yes, because the tag is split into separate terms.</p></td></tr><tr><td><p>Salesforce API</p></td><td><p>salesforce-api</p></td><td><p>muleconnector, MuleConnector</p></td><td><p>No. <code>connect</code> was not found.</p></td></tr><tr><td><p>Salesforce Connect</p></td><td><p>salesforce-connector</p></td><td><p>REST</p></td><td><p>No. <code>connect</code> was not found.</p></td></tr><tr><td><p>Validations API</p></td><td><p>validations-api</p></td><td><p>connector</p></td><td><p>No. <code>sales</code> was not found.</p></td></tr><tr><td><p>Cisco Presales API</p></td><td><p>cisco-presales-api</p></td><td><p>Connector, api</p></td><td><p>No. <code>sales</code> was not found.</p></td></tr></tbody></table>

### Phrase Search Separators

Use phrase search to find a group of terms inside quotation marks. Phrase searches match an asset
only if all the exact terms inside quotes appear in consecutive order.

If you enter any of these searches in Exchange, Exchange replaces non-alphanumeric symbols with
spaces before searching for assets.

Example search terms:

```text
Api: "Sales connect"
Api "Sales-connect"
Api "Sales:/connect"
Api-"Sales/connect"
"Sales connect":Api
```

This table shows how each search term is interpreted based on the values in the asset name, asset
ID, and tags for an asset. If the search term maps to the values correctly, a match occurs. If not,
the reason displays when the match does not occur.

<table><colgroup><col> <col> <col> <col></colgroup><thead><tr><th>Asset Name</th><th>Asset ID</th><th>Tags</th><th>Matches?</th></tr></thead><tbody><tr><td><p>Salesforce API</p></td><td><p>salesforce-api</p></td><td><p>mule-Connector</p></td><td><p>No. <code>sales connect</code> was not found.</p></td></tr><tr><td><p>Salesforce Connector</p></td><td><p>salesforce-connector</p></td><td><p>REST</p></td><td><p>No</p></td></tr><tr><td><p>Sales Connect Asset</p></td><td><p>validations-api</p></td><td><p>mule-connector</p></td><td><p>Yes</p></td></tr><tr><td><p>Sales Connect Images</p></td><td><p>validations-images</p></td><td><p>mule-connector</p></td><td><p>No. <code>api</code> was not found.</p></td></tr><tr><td><p>Optimized API</p></td><td><p>optimized-api</p></td><td><p>resource:/connect, sales:enabled</p></td><td><p>No. <code>sales connect</code> was not found.</p></td></tr><tr><td><p>Optimized API</p></td><td><p>optimized-api</p></td><td><p>resource:/sales, connect:enabled</p></td><td><p>No. <code>sales connect</code> was not found, because each term is in different tags.</p></td></tr><tr><td><p>Optimized API</p></td><td><p>optimized-api</p></td><td><p>sales:/connect</p></td><td><p>Yes</p></td></tr></tbody></table>

## Search by Types, Tags, Categories, and Custom Fields

You can enter a search keyword in the **Search assets** box to find assets.

You can click **All Types** to set a filter for specific asset types or combine search text with the
filters listed in the **Types** menu.

The search experience uses a query language to search assets by tags, categories, and custom fields.

### Search by Tags

You can search by tags using either `tag:"some value"` or `tag:value`.

If the value has no spaces, then double quotes are optional.

Tag search is case-insensitive.

Examples:

<table><colgroup><col> <col> <col></colgroup><thead><tr><th>Search</th><th>Tags</th><th>Matches?</th></tr></thead><tbody><tr><td><p>tag:"some value"</p></td><td><p>some value</p></td><td><p>Yes</p></td></tr><tr><td><p>tag:"some value"</p></td><td><p>value</p></td><td><p>No</p></td></tr><tr><td><p>tag:"value"</p></td><td><p>value</p></td><td><p>Yes</p></td></tr><tr><td><p>tag:value</p></td><td><p>value</p></td><td><p>Yes</p></td></tr><tr><td><p>tag:VALUE</p></td><td><p>value</p></td><td><p>Yes</p></td></tr><tr><td><p>tag:VaLuE</p></td><td><p>value</p></td><td><p>Yes</p></td></tr><tr><td><p>tag:value</p></td><td><p>val</p></td><td><p>No</p></td></tr></tbody></table>

### Search by Categories

You can search by categories using `category:"some key" = "some value"`.

If the category has no spaces in the key or value, then double quotes are optional.

The key can include the asterisk (`*`) regular expression to search for characters within a category
name.

The key is case-sensitive.

A search value matches an asset value if either of these is true:

- The search value is entirely lowercase.

- The letter case of the search value and the asset value match.

Examples:

<table><colgroup><col> <col> <col></colgroup><thead><tr><th>Search</th><th>Category</th><th>Matches?</th></tr></thead><tbody><tr><td><p>category:my-key = my-value</p></td><td><p>my-key:my-value</p></td><td><p>Yes</p></td></tr><tr><td><p>category:my-key = MY-VALUE</p></td><td><p>my-key:MY-VALUE</p></td><td><p>Yes</p></td></tr><tr><td><p>category:my-key = my-value</p></td><td><p>my-key:MY-VALUE</p></td><td><p>Yes</p></td></tr><tr><td><p>category:"my key" = "my value"</p></td><td><p>my key:my value</p></td><td><p>Yes</p></td></tr><tr><td><p>category:"key" = "value"</p></td><td><p>my key:my value</p></td><td><p>No</p></td></tr><tr><td><p>category:key = value</p></td><td><p>my-key:my-value</p></td><td><p>No</p></td></tr><tr><td><p>category:this.* = value</p></td><td><p>this.is.my.key:value</p></td><td><p>Yes</p></td></tr><tr><td><p>category:*my.key = value</p></td><td><p>this.is.my.key:value</p></td><td><p>Yes</p></td></tr><tr><td><p>category:this.* = value</p></td><td><p>this.is.my.key:some-value</p></td><td><p>No</p></td></tr><tr><td><p>category:this.* = some-*</p></td><td><p>this.is.my.key:some-value</p></td><td><p>No</p></td></tr></tbody></table>

You can search for a combination of different categories. You cannot search for multiple values of
the same category.

Multiple search terms use an implicit `AND`. `OR` is not supported.

These search terms return all assets marked as both system APIs and Salesforce products:

`category:"API Type" = "System API" category:"Product" = "Salesforce"`

### Search by Custom Fields

You can search by fields using `field:"some key" = "some value"`.

If the custom field has no spaces in the key or value, then double quotes are optional.

The key can include the asterisk (`*`) regular expression to search for characters within a field
name.

The key is case-sensitive.

A search value matches an asset value if either of these is true:

- The search value is entirely lowercase.

- The letter case of the search value and the asset value match.

Examples:

<table><colgroup><col> <col> <col></colgroup><thead><tr><th>Search</th><th>Field</th><th>Matches?</th></tr></thead><tbody><tr><td><p>field:my-key = my-value</p></td><td><p>my-key:my-value</p></td><td><p>Yes</p></td></tr><tr><td><p>field:my-key = MY-VALUE</p></td><td><p>my-key:MY-VALUE</p></td><td><p>Yes</p></td></tr><tr><td><p>field:my-key = my-value</p></td><td><p>my-key:MY-VALUE</p></td><td><p>Yes</p></td></tr><tr><td><p>field:my-key = My-ValUe</p></td><td><p>my-key:MY-VALUE</p></td><td><p>No</p></td></tr><tr><td><p>field:MY-KEY = my-value</p></td><td><p>my-key:my-value</p></td><td><p>No</p></td></tr><tr><td><p>field:my-key = 10</p></td><td><p>my-key:10</p></td><td><p>Yes</p></td></tr><tr><td><p>field:"my key" = "my value"</p></td><td><p>my key:my value</p></td><td><p>Yes</p></td></tr><tr><td><p>field:"key" = "value"</p></td><td><p>my key:my value</p></td><td><p>No</p></td></tr><tr><td><p>field:key = value</p></td><td><p>my-key:my-value</p></td><td><p>No</p></td></tr><tr><td><p>field:this.* = value</p></td><td><p>this.is.my.key:value</p></td><td><p>Yes</p></td></tr><tr><td><p>field:*my.key = value</p></td><td><p>this.is.my.key:value</p></td><td><p>Yes</p></td></tr><tr><td><p>field:this.* = value</p></td><td><p>this.is.my.key:some-value</p></td><td><p>No</p></td></tr><tr><td><p>field:this.* = some-*</p></td><td><p>this.is.my.key:some-value</p></td><td><p>No</p></td></tr></tbody></table>
