MCIP understands what you mean, not just what you type. Let's explore natural language search.
If you've completed the setup guide, you're ready to search. Let's start simple:
curl "http://localhost:8080/search?q=laptop"You'll get something like:
{
"meta": {
"count": 5,
"take": 10,
"skip": 0,
"q": "laptop"
},
"items": [
{
"externalId": "prod_001",
"title": "Gaming Laptop Pro 15",
"description": "High-performance gaming notebook...",
"brand": "TechCorp",
"category": "Electronics",
"price": { "amount": 1299.99, "currency": "USD" },
"mainImage": "https://cdn.example.com/laptop.jpg",
"score": 0.923
}
]
}The score (0-1) measures semantic similarity — how well the product matches your intent, not just keywords.
| Score | Meaning |
|---|---|
| 0.9+ | Excellent match |
| 0.7-0.9 | Good match |
| 0.5-0.7 | Related |
| <0.5 | Weak match |
Here's where MCIP shines. Try these:
# Under a specific price
curl "http://localhost:8080/search?q=laptop+under+1000"
# Price range
curl "http://localhost:8080/search?q=shoes+between+50+and+100"# Include a brand
curl "http://localhost:8080/search?q=nike+running+shoes"
# Exclude a brand
curl "http://localhost:8080/search?q=smartphones+except+apple"# The real power — combine everything
curl "http://localhost:8080/search?q=nike+shoes+under+100+but+not+running"MCIP extracts filters automatically and applies them during search.
Let's decode a full response:
{
"meta": {
"count": 3,
"take": 10,
"skip": 0,
"q": "nike shoes under 100",
"filteringStatus": "AI_FILTERED",
"appliedFilters": {
"brand": ["Nike"],
"priceRange": {
"min": null,
"max": 100,
"currency": "UAH"
}
}
},
"items": [...]
}| Status | Meaning |
|---|---|
AI_FILTERED | Filters extracted and applied |
RAG_ONLY | Pure semantic search, no filters |
Large result sets need pagination:
# First page (10 results)
curl "http://localhost:8080/search?q=electronics&take=10&skip=0"
# Second page
curl "http://localhost:8080/search?q=electronics&take=10&skip=10"
# Third page
curl "http://localhost:8080/search?q=electronics&take=10&skip=20"Test MCIP's semantic understanding:
| Query | What MCIP Understands |
|---|---|
gaming laptop | Laptops optimized for gaming, not just containing "gaming" |
comfortable office chair | Ergonomic features, not just keywords |
gift for mom | Popular gift categories, affordable items |
wireless headphones for running | Sport-focused, secure fit, sweat resistant |
laptop for video editing | High RAM, good GPU, large screen |
The difference? Keyword search finds "gaming laptop" only if those exact words appear. MCIP finds "High-Performance Notebook for Games" too.
Traditional keyword search:
MCIP semantic search:
# Basic search
curl "http://localhost:8080/search?q=your+query"
# With pagination
curl "http://localhost:8080/search?q=query&take=20&skip=0"
# URL encode complex queries
curl "http://localhost:8080/search?q=$(echo 'nike shoes under $100' | jq -sRr @uri)"
# Pretty print with jq
curl -s "http://localhost:8080/search?q=laptop" | jq .
# Just get titles and scores
curl -s "http://localhost:8080/search?q=laptop" | jq '.items[] | {title, score}'Possible causes:
/admin/sync and wait 30 secondsPossible causes:
Check:
appliedFilters in the response