Search
Primary search endpoint that provides advanced search capabilities across all document types stored in Smart Buckets. Supports recursive object search within objects, enabling nested content search like embedded images, text content, and personally identifiable information (PII).
The system supports complex queries like:
- ‘Show me documents containing credit card numbers or social security numbers’
- ‘Find images of landscapes taken during sunset’
- ‘Get documents mentioning revenue forecasts from Q4 2023’
- ‘Find me all PDF documents that contain pictures of a cat’
- ‘Find me all audio files that contain infomration about the weather in SF in 2024’
Key capabilities:
- Natural language query understanding
- Content-based search across text, images, and audio
- Automatic PII detection
- Multi-modal search (text, images, audio)
import Raindrop from '@liquidmetal-ai/lm-raindrop';
const client = new Raindrop({ apiKey: process.env['RAINDROP_API_KEY'], // This is the default and can be omitted});
async function main() { const searchResponse = await client.search.perform({ input: 'input', request_id: 'request_id' });
console.log(searchResponse.pagination);}
main();
import osfrom lm_raindrop import Raindrop
client = Raindrop( api_key=os.environ.get("RAINDROP_API_KEY"), # This is the default and can be omitted)search_response = client.search.perform( input="input", request_id="request_id",)print(search_response.pagination)
package main
import ( "context" "fmt"
"github.com/LiquidMetal-AI/raindrop-go-sdk" "github.com/LiquidMetal-AI/raindrop-go-sdk/option")
func main() { client := raindrop.NewClient( option.WithAPIKey("My API Key"), // defaults to os.LookupEnv("RAINDROP_API_KEY") ) searchResponse, err := client.Search.Perform(context.TODO(), raindrop.SearchPerformParams{ Input: raindrop.F("input"), RequestID: raindrop.F("request_id"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", searchResponse.Pagination)}
package com.raindrop.api.example;
import com.raindrop.api.client.RaindropClient;import com.raindrop.api.client.okhttp.RaindropOkHttpClient;import com.raindrop.api.models.search.SearchPerformParams;import com.raindrop.api.models.search.SearchResponse;
public final class Main { private Main() {}
public static void main(String[] args) { // Configures using the `RAINDROP_API_KEY` environment variable RaindropClient client = RaindropOkHttpClient.fromEnv();
SearchPerformParams params = SearchPerformParams.builder() .input("input") .requestId("request_id") .build(); SearchResponse searchResponse = client.search().perform(params); }}
# Run a new search querynpx raindrop query search "Find documents about revenue in Q4 2023"
# Get paginated results using request IDnpx raindrop query search --requestId 01HNG4V2RJXS5T --page 2
Get Paginated Search Results
Retrieve additional pages from a previous search. This endpoint enables
navigation through large result sets while maintaining search context and result relevance. Retrieving paginated results requires a valid request_id
from a previously completed search.
import Raindrop from '@liquidmetal-ai/lm-raindrop';
const client = new Raindrop({ apiKey: process.env['RAINDROP_API_KEY'], // This is the default and can be omitted});
async function main() { const searchResponse = await client.search.getResults({ request_id: 'request_id' });
console.log(searchResponse.pagination);}
main();
import osfrom lm_raindrop import Raindrop
client = Raindrop( api_key=os.environ.get("RAINDROP_API_KEY"), # This is the default and can be omitted)search_response = client.search.get_results( request_id="request_id",)print(search_response.pagination)
package main
import ( "context" "fmt"
"github.com/LiquidMetal-AI/raindrop-go-sdk" "github.com/LiquidMetal-AI/raindrop-go-sdk/option")
func main() { client := raindrop.NewClient( option.WithAPIKey("My API Key"), // defaults to os.LookupEnv("RAINDROP_API_KEY") ) searchResponse, err := client.Search.GetResults(context.TODO(), raindrop.SearchGetResultsParams{ RequestID: raindrop.F("request_id"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", searchResponse.Pagination)}
package com.raindrop.api.example;
import com.raindrop.api.client.RaindropClient;import com.raindrop.api.client.okhttp.RaindropOkHttpClient;import com.raindrop.api.models.search.SearchGetResultsParams;import com.raindrop.api.models.search.SearchResponse;
public final class Main { private Main() {}
public static void main(String[] args) { // Configures using the `RAINDROP_API_KEY` environment variable RaindropClient client = RaindropOkHttpClient.fromEnv();
SearchGetResultsParams params = SearchGetResultsParams.builder() .requestId("request_id") .build(); SearchResponse searchResponse = client.search().getResults(params); }}