当前位置: 首页>>代码示例>>Python>>正文


Python ES.count方法代码示例

本文整理汇总了Python中pyes.ES.count方法的典型用法代码示例。如果您正苦于以下问题:Python ES.count方法的具体用法?Python ES.count怎么用?Python ES.count使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pyes.ES的用法示例。


在下文中一共展示了ES.count方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _calculate_geo

# 需要导入模块: from pyes import ES [as 别名]
# 或者: from pyes.ES import count [as 别名]
    def _calculate_geo(self, request):
        cities = cache.get("website.cities")

        if not cities:
            elastic = ES(settings.SEARCH_HOSTS)
            geo = []

            for city, location in settings.APP_GEO_CITIES.items():
                filters = [
                    QueryFilter(
                        StringQuery(city, search_fields=["city"], analyze_wildcard=True, default_operator="AND")
                    ),
                    GeoDistanceFilter(
                        "pin.location", {"lat": location[0], "lon": location[1]}, settings.APP_GEO_CITIES_RANGE
                    ),
                ]

                geo.append(
                    (
                        city,
                        elastic.count(FilteredQuery(MatchAllQuery(), ORFilter(filters)), settings.SEARCH_ALIASES)[
                            "count"
                        ],
                        {"lat": location[0], "lon": location[1]},
                    )
                )

            elastic.connection.close()

            data = []
            start_radius, max_radius = (5000, 10000)  # 16km radius
            quotient = None

            for city in sorted(geo, key=lambda student: student[1], reverse=True):
                if city[1] > 0:
                    if not quotient:
                        quotient = int(max_radius / city[1])

                    radius = city[1] * quotient + start_radius
                    data.append((radius,) + city)

            cities = data
            cache.set("website.cities", cities)

        return cities
开发者ID:mkramb,项目名称:zaposlim.se,代码行数:47,代码来源:comon.py

示例2: search_people_by_bio

# 需要导入模块: from pyes import ES [as 别名]
# 或者: from pyes.ES import count [as 别名]
def search_people_by_bio(query, limit_results=DEFAULT_LIMIT,
                         index=['onename_people_index']):
    """ queries lucene index to find a nearest match, output is profile username
    """

    from pyes import QueryStringQuery, ES
    conn = ES()

    q = QueryStringQuery(query,
                         search_fields=['username', 'profile_bio'],
                         default_operator='and')

    results = conn.search(query=q, size=20, indices=index)
    count = conn.count(query=q)
    count = count.count

    # having 'or' gives more results but results quality goes down
    if(count == 0):

        q = QueryStringQuery(query,
                             search_fields=['username', 'profile_bio'],
                             default_operator='or')

        results = conn.search(query=q, size=20, indices=index)

    results_list = []
    counter = 0

    for profile in results:

        username = profile['username']
        results_list.append(username)

        counter += 1

        if(counter == limit_results):
            break

    return results_list
开发者ID:destenson,项目名称:blockstack--blockstack-server,代码行数:41,代码来源:substring_search.py


注:本文中的pyes.ES.count方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。