Create Semantic Search View
View: Create Semantic Search View
User Intent
"I want to create a reusable search configuration for semantic queries"
Operation
SDK Method:
graphlit.createView()GraphQL:
createViewmutationEntity Type: View
Common Use Cases: Saved search configurations, preset filters, reusable query templates
TypeScript (Canonical)
import { Graphlit } from 'graphlit-client';
import { EntityState, SearchTypes } from 'graphlit-client/dist/generated/graphql-types';
const graphlit = new Graphlit();
// Create semantic search view
const viewInput: ViewInput = {
name: 'Product Documentation Search',
state: EntityState.Enabled
};
const response = await graphlit.createView(viewInput);
const viewId = response.createView.id;
console.log(`View created: ${viewId}`);
// Use view in queries (views configure search behavior)
// Note: View functionality depends on your Graphlit configuration
const searchResults = await graphlit.queryContents({
search: 'API authentication',
searchType: SearchTypes.Hybrid
});
console.log(`Found ${searchResults.contents.results.length} results`);Create view (snake_case)
view_input = input_types.ViewInput( name="Product Documentation Search", state=enums.EntityState.ENABLED )
response = await graphlit.createView(view_input) view_id = response.create_view.id
print(f"View created: {view_id}")
**C#**:
```csharp
using Graphlit;
var client = new Graphlit();
// Create view (PascalCase)
var viewInput = new ViewInput {
Name = "Product Documentation Search",
State = EntityState.Enabled
};
var response = await graphlit.CreateView(viewInput);
var viewId = response.CreateView.Id;
Console.WriteLine($"View created: {viewId}");Parameters
ViewInput (Required)
name(string): View namestate(EntityState): View stateENABLEDorDISABLED
Response
{
createView: {
id: string; // View ID
name: string; // View name
state: EntityState; // View state
creationDate: Date; // Creation timestamp
}
}Developer Hints
Views for Preset Configurations
Views are used to create reusable search configurations:
// Create view for specific search context
const view = await graphlit.createView({
name: 'Customer Support Search',
state: EntityState.Enabled
});
// Views can be referenced in queries
// Actual behavior depends on your Graphlit configurationImportant: Views are organizational entities for search configuration management.
View Management
// Create views for different search contexts
const views = {
docs: await graphlit.createView({
name: 'Documentation Search',
state: EntityState.Enabled
}),
support: await graphlit.createView({
name: 'Support Articles',
state: EntityState.Enabled
}),
internal: await graphlit.createView({
name: 'Internal Knowledge Base',
state: EntityState.Enabled
})
};
console.log('Created search views:');
Object.values(views).forEach(v => {
console.log(`- ${v.createView.name} (${v.createView.id})`);
});Variations
1. Basic View
Create simple view:
const view = await graphlit.createView({
name: 'My Search View',
state: EntityState.Enabled
});
console.log(`View ID: ${view.createView.id}`);2. Multiple Views
Create views for different purposes:
const views = [
{ name: 'Product Docs', state: EntityState.Enabled },
{ name: 'API Reference', state: EntityState.Enabled },
{ name: 'Tutorials', state: EntityState.Enabled }
];
for (const viewConfig of views) {
const view = await graphlit.createView(viewConfig);
console.log(`Created: ${view.createView.name}`);
}3. Disabled View
Create but don't enable immediately:
const view = await graphlit.createView({
name: 'Future Search Config',
state: EntityState.Disabled
});
// Enable later with updateView()Common Issues
Issue: Not sure how to use views Solution: Views are organizational entities. Check your Graphlit configuration for view-specific features.
Issue: View already exists error
Solution: View names must be unique. Use different name or query existing views first.
Production Example
Create view system:
// Create views for different search contexts
const searchViews = [
'Technical Documentation',
'User Guides',
'API Reference',
'Troubleshooting',
'Release Notes'
];
const createdViews: string[] = [];
for (const viewName of searchViews) {
const view = await graphlit.createView({
name: viewName,
state: EntityState.Enabled
});
createdViews.push(view.createView.id);
console.log(` Created view: ${viewName}`);
}
console.log(`\nCreated ${createdViews.length} search views`);Last updated
Was this helpful?