Basic Search
- Python SDK
- JavaScript SDK
Copy
from gravixlayer import GravixLayer
client = GravixLayer()
memory = client.memory
# First, add some memories to search
memory.add("I love pizza and Italian food", user_id="alice")
memory.add("User prefers sci-fi movies over horror", user_id="alice")
memory.add("User works as a software engineer", user_id="alice")
memory.add("User likes coffee in the morning", user_id="alice")
print("Added sample memories for searching\n")
# Search finds related memories using semantic understanding
search_queries = ["food preferences", "movie tastes", "work information", "morning routine"]
for query in search_queries:
results = memory.search(query, user_id="alice")
print(f"Search: '{query}'")
print(f"Found {len(results['results'])} memories:")
for i, result in enumerate(results['results'], 1):
print(f" {i}. {result['memory']}")
if 'score' in result:
print(f" Relevance: {result['score']:.3f}")
print()
# Search with limit
limited_results = memory.search("preferences", user_id="alice", limit=2)
print(f"Limited search (max 2 results): Found {len(limited_results['results'])} memories")
for result in limited_results['results']:
print(f"- {result['memory']}")
Copy
Added sample memories for searching
Search: 'food preferences'
Found 2 memories:
1. I love pizza and Italian food
Relevance: 0.892
2. User likes coffee in the morning
Relevance: 0.654
Search: 'movie tastes'
Found 1 memories:
1. User prefers sci-fi movies over horror
Relevance: 0.876
Search: 'work information'
Found 1 memories:
1. User works as a software engineer
Relevance: 0.823
Search: 'morning routine'
Found 1 memories:
1. User likes coffee in the morning
Relevance: 0.745
Limited search (max 2 results): Found 2 memories
- I love pizza and Italian food
- User prefers sci-fi movies over horror
- Search “food” → finds “I love pizza”, “User likes coffee”
- Search “movies” → finds “User prefers sci-fi films”
- Search “work” → finds “User is a software engineer”
- Search understands context and meaning, not just exact keywords
Search in Specific Categories
Organize memories by switching to different indexes for faster, more targeted searches:- Python SDK
- JavaScript SDK
Copy
from gravixlayer import GravixLayer
client = GravixLayer()
memory = client.memory
# Add memories to different categories
print("Setting up categorized memories...")
# Add to user preferences
memory.switch_index("user_preferences")
memory.add("User prefers dark mode", user_id="alice")
memory.add("User likes notifications disabled", user_id="alice")
memory.add("User prefers large font size", user_id="alice")
# Add to work info
memory.switch_index("work_info")
memory.add("User works as a software engineer", user_id="alice")
memory.add("User specializes in Python development", user_id="alice")
memory.add("User works remotely", user_id="alice")
# Add to food preferences
memory.switch_index("food_preferences")
memory.add("User loves Italian cuisine", user_id="alice")
memory.add("User is vegetarian", user_id="alice")
memory.add("User dislikes spicy food", user_id="alice")
print("Added memories to different categories\n")
# Search in specific categories
categories = [
("user_preferences", "interface settings"),
("work_info", "programming skills"),
("food_preferences", "dietary restrictions")
]
for index_name, search_query in categories:
memory.switch_index(index_name)
results = memory.search(search_query, user_id="alice")
print(f"Searching '{search_query}' in {index_name}:")
print(f"Found {len(results['results'])} memories:")
for result in results['results']:
print(f" - {result['memory']}")
print()
# Compare: search across all indexes vs specific index
memory.switch_index("gravixlayer_memories") # Default index
all_results = memory.search("user preferences", user_id="alice")
print(f"Search across all indexes: {len(all_results['results'])} results")
memory.switch_index("user_preferences")
specific_results = memory.search("preferences", user_id="alice")
print(f"Search in user_preferences only: {len(specific_results['results'])} results")
Copy
Setting up categorized memories...
✅ Switched to index: user_preferences
✅ Switched to index: work_info
✅ Switched to index: food_preferences
Added memories to different categories
Searching 'interface settings' in user_preferences:
✅ Switched to index: user_preferences
Found 3 memories:
- User prefers dark mode
- User likes notifications disabled
- User prefers large font size
Searching 'programming skills' in work_info:
✅ Switched to index: work_info
Found 2 memories:
- User works as a software engineer
- User specializes in Python development
Searching 'dietary restrictions' in food_preferences:
✅ Switched to index: food_preferences
Found 2 memories:
- User is vegetarian
- User dislikes spicy food
✅ Switched to index: gravixlayer_memories
Search across all indexes: 0 results
✅ Switched to index: user_preferences
Search in user_preferences only: 3 results

