The Search App allows you to find similar items in your data set either using an item already present in that data set (similarity search) or an ad-hoc item (semantic search) and can be used for text and images. This guide is for text searches, to review details of image (visual) search please see here.
Also please review our Search Quick start video
Pre requisite
You will need to have created a project to build your search app in.
App Selection
- Select the App type you would like to create from the App Library template tab
- Mousing over the App tile will display a short description of the App and its applications
Select which of the methods you would like to create the App if you have your own data ready to go
Alternatively use the Graft Demo data source
App Configuration
For the search app
- Enter a name for your App entity
- Select the text Field which the search can be performed on.
- Select the primary key (a field which is unique for each item of data)
Note: If you are using our demo data you will not need to select the primary key
Samples will be shown below the selections allowing you to validate you have made the correct selections
- Click on the
and
arrows to step through the available samples
- Click on CREATE APP to start the app creation process or click CANCEL or the
to return to the previous step
Graft will now process a sample of your data, typically 100 items and upon completion will show the App TRY IT tab.
TRY IT
The TRY IT tab allows you to experiment with your new app without the need for any coding skills and allows you to test the configuration, filter results and if necessary adjust the app configuration.
The right hand panel shows the current configuration, the name of the entity which holds your app data, the field we are searching and information about the current data set.
Rerank passes the search results through a ranking model to generate relevance please see the Reranking guide for more details
- Clicking on the SYNC DATA button will ingest and process all the items associated with the data source, until this is carried out you will see a yellow warning banner at the top of the search window
- Clicking on the
icon will schedule daily ingestion and processing of your data source. If you would like to configure more frequent data processing you can enable a processing workflow.
Adhoc - Semantic search
The ADHOC sub tab within TRY IT allows you to query your new app with text that is not within your data set.
For example using our demo product catalog you could add in a short description of a item and see what is returned from the catalog.
Add in the text you wish to search for in the Search bar and hit return or click SEARCH and sample results (up to 10) will be displayed.
Search in Data Set - Similarity Search
The SEARCH IN DATASET sub tab within TRY IT allows you to use an known example and find similar items within your data set.
Graft provides you with a window where you can scroll through the current data set (100 in our example image above) and find a suitable entry you wish to use. Click on FIND SIMILAR and Graft will present the nearest matches.
To help narrow down your search for a suitable search item you can enter text in the filter bar and Click FILTER.
To clear the current filter, click on the X at the enter of the filter bar.
Scrolling through the results you can make your selection, Click on FIND SIMILAR to see your results.
To clear the current results click on the UNSELECT button in the select panel
Filtering Results
Results can be displayed in table (default)
tiled, and
gallery views, click any button to change format.
Once your query results are displayed you are able to adjust filters to refine the results, see View Results & Filtering for more details
API tab
This tab allows you to experiment with an API snippet which can then be copied and used in your own development environment
You will need an API key to start. If none are available Click on the Create an API key link and follow these instructions. If there are one or more API keys in the project you can switch between then using the API key drop down menu. Click on MANAGE KEYS to add or delete new keys.
The API snippet is controlled from the configuration bar on the right.
Changes made to the configuration are immediately shown in the code. Use the Output format drop down to switch between CSV (default), TSV or JSONL (JSON Lines) formats
The Entity columns drop down allows you to add or remove columns from the output
Entity_knn_adhoc dropdown shows the current search query to be run, the default text is "query text" replace this with the text you would like to search for or a URI to an image for visual search
Entity_knn_k allows you to control the number of itemsreturned in your results, default value is 10
Rerank allows your similarity search results to be reranked by Relevance using the Graft ranking model
Each configuration item can be compressed by clicking on the |
Once you have added in a query click on TEST REQUEST to run the API query.
Copying the Request Code
Click on the icon to the right of the REQUEST heading in the top left hand corner of the code window
Copying the response
Click on the icon to the right of the RESPONSE heading in the top left hand corner of the results window
Optimize tab
This tab allows you to experiment with different models available in Graft in your App. You can compare the performance of selected models vs your current model and swap as needed. Further details on Optimization can be found here.
Settings tab
This tab allows you to delete your app, see which field is being processed for the App and also enable the App for external API access.
Clicking on the in Edit field configuration allows you to select which field(s) and associated foundation models are used as part of the search see Changing your Search App Configuration for more details
App API limits
The number of Apps available for external access is limited by your tier. If no APIs are remaining you will need to disable any existing APIs (save the changes) and then enable the App API of interest or consider upgrading to a bigger tier.