ruleContexts parameter lets you specify which contextual rules to activate for a given search query.
A rule context is a string that acts as a trigger for rules with the same context string.
Contexts define the conditions under which a rule applies.
For an example, see Customize search results by platform.
Usage
- Contexts must contain only alphanumeric characters, hyphens, or underscores.
- If
ruleContextsis empty, only non-contextual rules are considered. - You can pass up to 10 contexts in a single query.
Example
Current API clients
Current API clients
var response = await client.SearchSingleIndexAsync<Hit>(
"INDEX_NAME",
new SearchParams(
new SearchParamsObject
{
Query = "query",
RuleContexts = new List<string> { "front_end", "website2" },
}
)
);
final response = await client.searchSingleIndex(
indexName: "INDEX_NAME",
searchParams: SearchParamsObject(
query: "query",
ruleContexts: [
"front_end",
"website2",
],
),
);
response, err := client.SearchSingleIndex(client.NewApiSearchSingleIndexRequest(
"INDEX_NAME").WithSearchParams(search.SearchParamsObjectAsSearchParams(
search.NewEmptySearchParamsObject().SetQuery("query").SetRuleContexts(
[]string{"front_end", "website2"}))))
if err != nil {
// handle the eventual error
panic(err)
}
SearchResponse response = client.searchSingleIndex(
"INDEX_NAME",
new SearchParamsObject().setQuery("query").setRuleContexts(Arrays.asList("front_end", "website2")),
Hit.class
);
const response = await client.searchSingleIndex({
indexName: 'indexName',
searchParams: { query: 'query', ruleContexts: ['front_end', 'website2'] },
});
var response =
client.searchSingleIndex(
indexName = "INDEX_NAME",
searchParams =
SearchParamsObject(query = "query", ruleContexts = listOf("front_end", "website2")),
)
$response = $client->searchSingleIndex(
'INDEX_NAME',
['query' => 'query',
'ruleContexts' => [
'front_end',
'website2',
],
],
);
response = client.search_single_index(
index_name="INDEX_NAME",
search_params={
"query": "query",
"ruleContexts": [
"front_end",
"website2",
],
},
)
response = client.search_single_index(
"INDEX_NAME",
Algolia::Search::SearchParamsObject.new(query: "query", rule_contexts: ["front_end", "website2"])
)
val response = Await.result(
client.searchSingleIndex(
indexName = "INDEX_NAME",
searchParams = Some(
SearchParamsObject(
query = Some("query"),
ruleContexts = Some(Seq("front_end", "website2"))
)
)
),
Duration(100, "sec")
)
let response: SearchResponse<Hit> = try await client.searchSingleIndex(
indexName: "INDEX_NAME",
searchParams: SearchSearchParams.searchSearchParamsObject(SearchSearchParamsObject(
query: "query",
ruleContexts: ["front_end", "website2"]
))
)
Legacy API clients
Legacy API clients
index.Search(new Query("")
{
RuleContexts = new List { "front_end", "website2" }
});
res, err := index.Search(
"query",
opt.RuleContexts("front_end", "website2"),
)
index.search(
new Query("query")
.setRuleContexts(
Arrays.asList(
"front_end",
"website2"
)
)
);
index
.search("query", {
ruleContexts: ["front_end", "website2"],
})
.then(({ hits }) => {
console.log(hits);
});
val query = query("query") {
ruleContexts {
+"front_end"
+"website2"
}
}
index.search(query)
$results = $index->search('query', [
'ruleContexts' => [
'front_end',
'website2'
]
]);
results = index.search("query", {"ruleContexts": ["front_end", "website2"]})
results = index.search(
"query",
{
ruleContexts: [
"front_end",
"website2"
]
}
)
client.execute {
search into "myIndex" query Query(
query = Some("query"),
ruleContexts = Some(Seq(
"front_end",
"website2"
))
)
}
let query = Query("query")
.set(\.ruleContexts, to: ["front_end", "website2"])
index.search(query: query) { result in
if case .success(let response) = result {
print("Response: \(response)")
}
}