BM25BuiltInFunction(
self,
*,
input_field_names: str = TEXT_FIELD,
output_field_names: str =| Name | Type | Description |
|---|---|---|
input_field_names | str | Default: TEXT_FIELDThe name of the input field, default is 'text'. |
output_field_names | str | Default: SPARSE_VECTOR_FIELDThe name of the output field, default is 'sparse'. |
analyzer_params | Optional[Dict[Any, Any]] | Default: None |
multi_analyzer_params | Optional[Dict[Any, Any]] | Default: None |
enable_match | bool | Default: False |
function_name | Optional[str] | Default: None |
Milvus BM25 built-in function.
Supports both single-language and multi-language analyzers.
See:
Example for single-language analyzer:
BM25BuiltInFunction( analyzer_params={"type": "english"} )
Example for multi-language analyzers:
BM25BuiltInFunction( multi_analyzer_params={ "analyzers": { "english": {"type": "english"}, "chinese": {"type": "chinese"}, "default": {"tokenizer": "icu"} }, "by_field": "language", "alias": { "cn": "chinese", "en": "english" } } )
The parameters for the analyzer. Default is None. See: https://milvus.io/docs/analyzer-overview.md#Analyzer-Overview
The parameters for multi-language analyzers. Default is None. See: https://milvus.io/docs/multi-language-analyzers.md This parameter is mutually exclusive with analyzer_params. Example: { "analyzers": { "english": {"type": "english"}, "chinese": {"type": "chinese"}, "default": {"tokenizer": "icu"} }, "by_field": "language", "alias": { "cn": "chinese", "en": "english" } }
Whether to enable match.
The name of the function. Default is None, which means a random name will be generated.