pub struct SearchParameters {Show 66 fields
pub cache_ttl: Option<i32>,
pub conversation: Option<bool>,
pub conversation_id: Option<String>,
pub conversation_model_id: Option<String>,
pub drop_tokens_mode: Option<DropTokensMode>,
pub drop_tokens_threshold: Option<i32>,
pub enable_highlight_v1: Option<bool>,
pub enable_overrides: Option<bool>,
pub enable_synonyms: Option<bool>,
pub enable_typos_for_alpha_numerical_tokens: Option<bool>,
pub enable_typos_for_numerical_tokens: Option<bool>,
pub exclude_fields: Option<String>,
pub exhaustive_search: Option<bool>,
pub facet_by: Option<String>,
pub facet_query: Option<String>,
pub facet_return_parent: Option<String>,
pub facet_strategy: Option<String>,
pub filter_by: Option<String>,
pub filter_curated_hits: Option<bool>,
pub group_by: Option<String>,
pub group_limit: Option<i32>,
pub group_missing_values: Option<bool>,
pub hidden_hits: Option<String>,
pub highlight_affix_num_tokens: Option<i32>,
pub highlight_end_tag: Option<String>,
pub highlight_fields: Option<String>,
pub highlight_full_fields: Option<String>,
pub highlight_start_tag: Option<String>,
pub include_fields: Option<String>,
pub infix: Option<String>,
pub limit: Option<i32>,
pub max_candidates: Option<i32>,
pub max_extra_prefix: Option<i32>,
pub max_extra_suffix: Option<i32>,
pub max_facet_values: Option<i32>,
pub min_len_1typo: Option<i32>,
pub min_len_2typo: Option<i32>,
pub num_typos: Option<String>,
pub offset: Option<i32>,
pub override_tags: Option<String>,
pub page: Option<i32>,
pub per_page: Option<i32>,
pub pinned_hits: Option<String>,
pub pre_segmented_query: Option<bool>,
pub prefix: Option<String>,
pub preset: Option<String>,
pub prioritize_exact_match: Option<bool>,
pub prioritize_num_matching_fields: Option<bool>,
pub prioritize_token_position: Option<bool>,
pub q: String,
pub query_by: String,
pub query_by_weights: Option<String>,
pub remote_embedding_num_tries: Option<i32>,
pub remote_embedding_timeout_ms: Option<i32>,
pub search_cutoff_ms: Option<i32>,
pub snippet_threshold: Option<i32>,
pub sort_by: Option<String>,
pub split_join_tokens: Option<String>,
pub stopwords: Option<String>,
pub synonym_num_typos: Option<i32>,
pub synonym_prefix: Option<bool>,
pub text_match_type: Option<String>,
pub typo_tokens_threshold: Option<i32>,
pub use_cache: Option<bool>,
pub vector_query: Option<String>,
pub voice_query: Option<String>,
}
Fields§
§cache_ttl: Option<i32>
The duration (in seconds) that determines how long the search query is cached. This value can be set on a per-query basis. Default: 60.
conversation: Option<bool>
Enable conversational search.
conversation_id: Option<String>
The Id of a previous conversation to continue, this tells Typesense to include prior context when communicating with the LLM.
conversation_model_id: Option<String>
The Id of Conversation Model to be used.
drop_tokens_mode: Option<DropTokensMode>
§drop_tokens_threshold: Option<i32>
If the number of results found for a specific query is less than this number, Typesense will attempt to drop the tokens in the query until enough results are found. Tokens that have the least individual hits are dropped first. Set to 0 to disable. Default: 10
enable_highlight_v1: Option<bool>
Flag for enabling/disabling the deprecated, old highlight structure in the response. Default: true
enable_overrides: Option<bool>
If you have some overrides defined but want to disable all of them during query time, you can do that by setting this parameter to false
enable_synonyms: Option<bool>
If you have some synonyms defined but want to disable all of them for a particular search query, set enable_synonyms to false. Default: true
enable_typos_for_alpha_numerical_tokens: Option<bool>
Set this parameter to false to disable typos on alphanumerical query tokens. Default: true.
enable_typos_for_numerical_tokens: Option<bool>
Make Typesense disable typos for numerical tokens.
exclude_fields: Option<String>
List of fields from the document to exclude in the search result
exhaustive_search: Option<bool>
Setting this to true will make Typesense consider all prefixes and typo corrections of the words in the query without stopping early when enough results are found (drop_tokens_threshold and typo_tokens_threshold configurations are ignored).
facet_by: Option<String>
A list of fields that will be used for faceting your results on. Separate multiple fields with a comma.
facet_query: Option<String>
Facet values that are returned can now be filtered via this parameter.
The matching facet text is also highlighted. For example, when faceting
by category
, you can set facet_query=category:shoe
to return only
facet values that contain the prefix "shoe".
facet_return_parent: Option<String>
Comma separated string of nested facet fields whose parent object should be returned in facet response.
facet_strategy: Option<String>
Choose the underlying faceting strategy used. Comma separated string of allows values: exhaustive, top_values or automatic (default).
filter_by: Option<String>
Filter conditions for refining youropen api validator search results. Separate multiple conditions with &&.
filter_curated_hits: Option<bool>
Whether the filter_by condition of the search query should be applicable to curated results (override definitions, pinned hits, hidden hits, etc.). Default: false
group_by: Option<String>
You can aggregate search results into groups or buckets by specify one
or more group_by
fields. Separate multiple fields with a comma. To
group on a particular field, it must be a faceted field.
group_limit: Option<i32>
Maximum number of hits to be returned for every group. If the
group_limit
is set as K
then only the top K hits in each group are
returned in the response. Default: 3
group_missing_values: Option<bool>
Setting this parameter to true will place all documents that have a null value in the group_by field, into a single group. Setting this parameter to false, will cause each document with a null value in the group_by field to not be grouped with other documents. Default: true
A list of records to unconditionally hide from search results. A list of
record_id
s to hide. Eg: to hide records with IDs 123 and 456, you’d
specify 123,456
. You could also use the Overrides feature to override
search results based on rules. Overrides are applied first, followed by
pinned_hits
and finally hidden_hits
.
highlight_affix_num_tokens: Option<i32>
The number of tokens that should surround the highlighted text on each side. Default: 4
highlight_end_tag: Option<String>
The end tag used for the highlighted snippets. Default: </mark>
highlight_fields: Option<String>
A list of custom fields that must be highlighted even if you don’t query for them
highlight_full_fields: Option<String>
List of fields which should be highlighted fully without snippeting
highlight_start_tag: Option<String>
The start tag used for the highlighted snippets. Default: <mark>
include_fields: Option<String>
List of fields from the document to include in the search result
infix: Option<String>
If infix index is enabled for this field, infix searching can be done on
a per-field basis by sending a comma separated string parameter called
infix to the search query. This parameter can have 3 values; off
infix
search is disabled, which is default always
infix search is performed
along with regular search fallback
infix search is performed if
regular search does not produce results
limit: Option<i32>
Number of hits to fetch. Can be used as an alternative to the per_page parameter. Default: 10.
max_candidates: Option<i32>
Control the number of words that Typesense considers for typo and prefix searching.
max_extra_prefix: Option<i32>
There are also 2 parameters that allow you to control the extent of infix searching max_extra_prefix and max_extra_suffix which specify the maximum number of symbols before or after the query that can be present in the token. For example query "K2100" has 2 extra symbols in "6PK2100". By default, any number of prefixes/suffixes can be present for a match.
max_extra_suffix: Option<i32>
There are also 2 parameters that allow you to control the extent of infix searching max_extra_prefix and max_extra_suffix which specify the maximum number of symbols before or after the query that can be present in the token. For example query "K2100" has 2 extra symbols in "6PK2100". By default, any number of prefixes/suffixes can be present for a match.
max_facet_values: Option<i32>
Maximum number of facet values to be returned.
min_len_1typo: Option<i32>
Minimum word length for 1-typo correction to be applied. The value of num_typos is still treated as the maximum allowed typos.
min_len_2typo: Option<i32>
Minimum word length for 2-typo correction to be applied. The value of num_typos is still treated as the maximum allowed typos.
num_typos: Option<String>
The number of typographical errors (1 or 2) that would be tolerated. Default: 2
offset: Option<i32>
Identifies the starting point to return hits from a result set. Can be used as an alternative to the page parameter.
Comma separated list of tags to trigger the curations rules that match the tags.
page: Option<i32>
Results from this specific page number would be fetched.
per_page: Option<i32>
Number of results to fetch per page. Default: 10
pinned_hits: Option<String>
A list of records to unconditionally include in the search results at
specific positions. An example use case would be to feature or promote
certain items on the top of search results. A list of
record_id:hit_position
. Eg: to include a record with ID 123 at
Position 1 and another record with ID 456 at Position 5, you’d specify
123:1,456:5
. You could also use the Overrides feature to override
search results based on rules. Overrides are applied first, followed by
pinned_hits
and finally hidden_hits
.
pre_segmented_query: Option<bool>
You can index content from any logographic language into Typesense if you are able to segment / split the text into space-separated words yourself before indexing and querying. Set this parameter to true to do the same
prefix: Option<String>
Boolean field to indicate that the last word in the query should be treated as a prefix, and not as a whole word. This is used for building autocomplete and instant search interfaces. Defaults to true.
preset: Option<String>
Search using a bunch of search parameters by setting this parameter to the name of the existing Preset.
prioritize_exact_match: Option<bool>
Set this parameter to true to ensure that an exact match is ranked above the others
prioritize_num_matching_fields: Option<bool>
Make Typesense prioritize documents where the query words appear in more number of fields.
prioritize_token_position: Option<bool>
Make Typesense prioritize documents where the query words appear earlier in the text.
q: String
The query text to search for in the collection. Use * as the search string to return all documents. This is typically useful when used in conjunction with filter_by.
query_by: String
A list of string
fields that should be queried against. Multiple
fields are separated with a comma.
query_by_weights: Option<String>
The relative weight to give each query_by
field when ranking results.
This can be used to boost fields in priority, when looking for matches.
Multiple fields are separated with a comma.
remote_embedding_num_tries: Option<i32>
Number of times to retry fetching remote embeddings.
remote_embedding_timeout_ms: Option<i32>
Timeout (in milliseconds) for fetching remote embeddings.
search_cutoff_ms: Option<i32>
Typesense will attempt to return results early if the cutoff time has elapsed. This is not a strict guarantee and facet computation is not bound by this parameter.
snippet_threshold: Option<i32>
Field values under this length will be fully highlighted, instead of showing a snippet of relevant portion. Default: 30
sort_by: Option<String>
A list of numerical fields and their corresponding sort orders that will
be used for ordering your results. Up to 3 sort fields can be specified.
The text similarity score is exposed as a special _text_match
field
that you can use in the list of sorting fields. If no sort_by
parameter is specified, results are sorted by
_text_match:desc,default_sorting_field:desc
split_join_tokens: Option<String>
Treat space as typo: search for q=basket ball if q=basketball is not
found or vice-versa. Splitting/joining of tokens will only be attempted
if the original query produces no results. To always trigger this
behavior, set value to always``. To disable, set value to
off. Default is
fallback`.
stopwords: Option<String>
Name of the stopwords set to apply for this search, the keywords present in the set will be removed from the search query.
synonym_num_typos: Option<i32>
Allow synonym resolution on typo-corrected words in the query. Default: 0
synonym_prefix: Option<bool>
Allow synonym resolution on word prefixes in the query. Default: false
text_match_type: Option<String>
In a multi-field matching context, this parameter determines how the representative text match score of a record is calculated. Possible values are max_score (default) or max_weight.
typo_tokens_threshold: Option<i32>
If the number of results found for a specific query is less than this number, Typesense will attempt to look for tokens with more typos until enough results are found. Default: 100
use_cache: Option<bool>
Enable server side caching of search query results. By default, caching is disabled.
vector_query: Option<String>
Vector query expression for fetching documents "closest" to a given query/document vector.
voice_query: Option<String>
The base64 encoded audio file in 16 khz 16-bit WAV format.
Implementations§
Source§impl SearchParameters
impl SearchParameters
pub fn new(q: String, query_by: String) -> SearchParameters
Trait Implementations§
Source§impl Clone for SearchParameters
impl Clone for SearchParameters
Source§fn clone(&self) -> SearchParameters
fn clone(&self) -> SearchParameters
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more