eland.DataFrame.es_query#

DataFrame.es_query(query) DataFrame#

将 Elasticsearch DSL 查询应用于当前 DataFrame。

参数#

query

要应用的 Elasticsearch DSL 查询的字典

返回值#

eland.DataFrame

应用了查询的 eland DataFrame

示例#

地理距离查询 应用于具有地理点列 geoip.location 的数据集。

>>> df = ed.DataFrame('http://localhost:9200', 'ecommerce', columns=['customer_first_name', 'geoip.city_name'])
>>> df.es_query({"bool": {"filter": {"geo_distance": {"distance": "1km", "geoip.location": [55.3, 25.3]}}}}).head()
   customer_first_name geoip.city_name
1                 Mary           Dubai
9            Rabbia Al           Dubai
10           Rabbia Al           Dubai
22                Mary           Dubai
30              Robbie           Dubai

[5 rows x 2 columns]

如果使用 mustfilter 之类的事件,则必须将其嵌套在 bool

# Correct:
df.es_query({
    "bool": {
        "filter": {...}
    }
})

# Incorrect, needs to be nested under 'bool':
df.es_query({
    "filter": {...}
})