无需派生Haystack,您可以在自己的后端中更新该方法(有关更多详细信息,请参见拉伸Haystack的ElasticSearch后端)。该
build_search_kwargs方法返回一个字典,因此您可以修改原始的返回值。
免责声明:此代码仅是如何更新自己的后端的示例, 而不是 如何实现模糊搜索的示例。
class FuzzyBackend(ElasticsearchSearchBackend): def build_search_kwargs(self, query_string, **kwargs): fuzzy = kwargs.pop('fuzzy', False) fuzzy_field = kwargs.pop('min_similarity', '') search_kwargs = super(FuzzyBackend, self).build_search_kwargs( query_string, kwargs) if fuzzy: search_kwargs = {'fuzzy': {fuzzy_field: query_string}} return search_kwargs


