The removeWordsIfNoResults parameter Lets Algolia automatically remove one or more words from the query
and retry the search if no results are returned.
The goal is to avoid empty results by progressively simplifying the query until results are found.
Use removeWordsIfNoResults to configure this behavior.
For more information,
see Remove words to improve results .
Options
Doesn’t remove any words from the query.
If no results are found,
an empty result set is returned.
(Default behavior.)
Remove words from the end of the query one at a time,
until results are found or a maximum of five words have been removed.
Remove words from the beginning of the query one at a time,
until results are found or a maximum of five words have been removed.
Results can match any subset of the words,
rather than requiring all of them.
Example
C#
Dart
Go
Java
JavaScript
Kotlin
PHP
Python
Ruby
Scala
Swift
var response = await client . SetSettingsAsync (
"INDEX_NAME" ,
new IndexSettings { RemoveWordsIfNoResults = Enum . Parse < RemoveWordsIfNoResults >( "None" ) }
);
final response = await client. setSettings (
indexName : "INDEX_NAME" ,
indexSettings : IndexSettings (
removeWordsIfNoResults : RemoveWordsIfNoResults . fromJson ( "none" ),
),
);
response , err := client . SetSettings ( client . NewApiSetSettingsRequest (
"INDEX_NAME" ,
search . NewEmptyIndexSettings (). SetRemoveWordsIfNoResults ( search . RemoveWordsIfNoResults ( "none" ))))
if err != nil {
// handle the eventual error
panic ( err )
}
UpdatedAtResponse response = client . setSettings (
"INDEX_NAME" ,
new IndexSettings (). setRemoveWordsIfNoResults ( RemoveWordsIfNoResults . NONE )
);
const response = await client . setSettings ({
indexName: 'theIndexName' ,
indexSettings: { removeWordsIfNoResults: 'none' },
});
var response =
client. setSettings (
indexName = "INDEX_NAME" ,
indexSettings =
IndexSettings (
removeWordsIfNoResults = RemoveWordsIfNoResults.entries. first { it. value == "none" }
),
)
$response = $client -> setSettings (
'INDEX_NAME' ,
[ 'removeWordsIfNoResults' => 'none' ,
],
);
response = client.set_settings(
index_name = "INDEX_NAME" ,
index_settings = {
"removeWordsIfNoResults" : "none" ,
},
)
response = client. set_settings (
"INDEX_NAME" ,
Algolia :: Search :: IndexSettings . new ( remove_words_if_no_results: "none" )
)
val response = Await .result(
client.setSettings(
indexName = "INDEX_NAME" ,
indexSettings = IndexSettings (
removeWordsIfNoResults = Some ( RemoveWordsIfNoResults .withName( "none" ))
)
),
Duration ( 100 , "sec" )
)
let response = try await client. setSettings (
indexName : "INDEX_NAME" ,
indexSettings : IndexSettings ( removeWordsIfNoResults : SearchRemoveWordsIfNoResults. `none` )
)
C#
Go
Java
JavaScript
Kotlin
PHP
Python
Ruby
Scala
Swift
IndexSettings settings = new IndexSettings ();
settings . RemoveWordsIfNoResults = "none" ;
// settings.RemoveWordsIfNoResults = "lastWords";
// settings.RemoveWordsIfNoResults = "firstWords";
// settings.RemoveWordsIfNoResults = "allOptional";
index . SetSettings ( settings );
res , err := index . SetSettings ( search . Settings {
RemoveWordsIfNoResults : opt . RemoveWordsIfNoResults (
"none" ,
// "lastWords",
// "firstWords",
// "allOptional",
),
})
index . setSettings (
new IndexSettings (). setRemoveWordsIfNoResults ( RemoveWordsType . REMOVE_NONE )
// new IndexSettings().setRemoveWordsIfNoResults(RemoveWordsType.REMOVE_LAST_WORDS)
// new IndexSettings().setRemoveWordsIfNoResults(RemoveWordsType.REMOVE_FIRST_WORDS)
// new IndexSettings().setRemoveWordsIfNoResults(RemoveWordsType.REMOVE_ALLOPTIONAL)
);
index
. setSettings ({
removeWordsIfNoResults: "none" ,
// removeWordsIfNoResults: 'lastWords'
// removeWordsIfNoResults: 'firstWords'
// removeWordsIfNoResults: 'allOptional'
})
. then (() => {
// done
});
val settings = settings {
removeWordsIfNoResults = RemoveWordIfNoResults.None
// removeWordsIfNoResults = RemoveWordIfNoResults.LastWords
// removeWordsIfNoResults = RemoveWordIfNoResults.FirstWords
// removeWordsIfNoResults = RemoveWordIfNoResults.AllOptional
}
index. setSettings (settings)
$index -> setSettings ([
'removeWordsIfNoResults' => 'none'
// 'removeWordsIfNoResults' => 'lastWords'
// 'removeWordsIfNoResults' => 'firstWords'
// 'removeWordsIfNoResults' => 'allOptional'
]);
index.set_settings(
{
"removeWordsIfNoResults" : "none"
# 'removeWordsIfNoResults': 'lastWords'
# 'removeWordsIfNoResults': 'firstWords'
# 'removeWordsIfNoResults': 'allOptional'
}
)
index. set_settings (
{
removeWordsIfNoResults: "none"
# removeWordsIfNoResults: 'lastWords'
# removeWordsIfNoResults: 'firstWords'
# removeWordsIfNoResults: 'allOptional'
}
)
client.execute {
setSettings of "myIndex" `with` IndexSettings (
removeWordsIfNoResults = Some ( "none" )
// removeWordsIfNoResults = Some("lastWords")
// removeWordsIfNoResults = Some("firstWords")
// removeWordsIfNoResults = Some("allOptional")
)
}
let settings = Settings ()
. set (\. removeWordsIfNoResults , to : RemoveWordIfNoResults. none )
//.set(\.removeWordsIfNoResults, to: .lastWords)
//.set(\.removeWordsIfNoResults, to: .firstWords)
//.set(\.removeWordsIfNoResults, to: .allOptional)
index. setSettings (settings) { result in
if case . success ( let response) = result {
print ( "Response: \( response ) " )
}
}