eland.Series.es_match#

Series.es_match(text: str, *, match_phrase: bool = False, match_only_text_fields: bool = True, analyzer: Optional[str] = None, fuzziness: Optional[Union[int, str]] = None, **kwargs: Any) QueryFilter#

根据给定的参数,使用 Elasticsearch 的 matchmatch_phrase 查询筛选数据。

了解有关 Elasticsearch 中的全文查询 的更多信息

所有其他关键字参数都将传递到匹配查询的主体中。

参数#

text: str

要搜索的文本字符串

match_phrase: bool, 默认值为 False

如果为 True,将使用 match_phrase 而不是 match 查询,这会考虑 text 参数的顺序。

match_only_text_fields: bool, 默认值为 True

当为 True 时,如果查询到任何非文本字段,此函数将引发错误,以防止未分析的字段无法正常工作。设置为 False 以忽略此预防性检查。

analyzer: str, 可选

指定要用于匹配查询的分析器

fuzziness: int, str, 可选

指定匹配查询的模糊选项

返回值#

QueryFilter

要与其他过滤器组合,然后传递到 DataFrame[…]. 的布尔过滤器。

示例#

>>> df = ed.DataFrame(
...   "http://localhost:9200", "ecommerce",
...   columns=["category", "taxful_total_price"]
... )
>>> df[
...     df.category.es_match("Men's")
...     & (df.taxful_total_price > 200.0)
... ].head(5)
                               category  taxful_total_price
13                     [Men's Clothing]              266.96
33                     [Men's Clothing]              221.98
54                     [Men's Clothing]              234.98
93   [Men's Shoes, Women's Accessories]              239.98
273                       [Men's Shoes]              214.98

[5 rows x 2 columns]