Giter VIP home page Giter VIP logo

havenask's Introduction

Note

old version: 1.0.0, 1.0.0-beta, main-stable-0.4
The new and old main branches have a significant difference, and if the sync code branch produces errors, please make them consistent with the current main branch.

Introduction

Leaderboard

As a search engine developed by Alibaba Group, Havenask is a large-scale distributed information search system widely used within Alibaba Group. It provides the search services for business across the Alibaba Group such as Taobao, Tmall, Cainiao, Amap, Ele.me, and global services. It offers high-performance and easy-to-use search services with low costs. Havenask also provides flexible customization and development capabilities. Its algorithms can be fast iterated. This way, Havenask enables you to develop intelligent search service tailored for your business and empower business growth.

Havenask delivers the following benefits:

  • Ultimate performance: ensures realtime search from hundreds of billions of data records and achieves millions of queries per second (QPS) and millions of writes per second (TPS). Havenask delivers queries in milliseconds and updates data in seconds.

  • C++ underlying structure: ensures higher performance and better memory and stability.

  • Supported SQL queries: offers a more user-friendly query experience.

  • Rich plugins : supports various business plug-ins, which makes the engine highly scalable.

  • Supported graphical development: allows you to iterate algorithms in minutes. In addition, a wide range of customization capabilities are available with excellent performance delivered for next-generation intelligent search.

Documentation

Get Started

  • Havenask Docker images (image platform: amd64)
    • ha3_runtime: runtime image allows you to quickly start a search service without compiling.
    • ha3_dev : development image includes all libraries necessary for compiling havenask. QuickStart
  • Requirements
    • Runtime: cpu > 2 cores, memory > 4G, disk > 20G
    • Dev: cpu > 2 cores, memory > 10G, disk > 50G
    • Install and Start Docker
    • Check that you can ssh to the localhost without a passphrase, ref Local Mode

Start Havenask Service

  • Create the container CONTAINER_NAME specifies the name of the container.
cd ~
git clone [email protected]:alibaba/havenask.git
cd ~/havenask/docker/havenask
docker pull registry.cn-hangzhou.aliyuncs.com/havenask/ha3_runtime:latest
./create_container.sh <CONTAINER_NAME> registry.cn-hangzhou.aliyuncs.com/havenask/ha3_runtime:latest
  • Log on to the container
./<CONTAINER_NAME>/sshme
  • Start Havneask service
/ha3_install/hape start havenask
  • Create table
/ha3_install/hape create table -t in0 -s /ha3_install/example/cases/normal/in0_schema.json -p 1
  • Insert data
/ha3_install/sql_query.py --query "insert into in0 (createtime,hits,id,title,subject)values(1,2,4,'test', 'test')"
  • Query
/ha3_install/sql_query.py --query "select * from in0"

Contact Us

Havenask DingTalk Group:

3293821693450208

项目介绍

Leaderboard

Havenask是阿里巴巴集团自研的搜索引擎,也是阿里巴巴内部广泛使用的大规模分布式检索系统,支持了包括淘宝、天猫、菜鸟、高德、饿了么、全球化在内整个阿里巴巴集团的搜索业务,为用户提供高性能、低成本、易用的搜索服务,同时具有灵活的定制和开发能力,支持算法快速迭代,帮助客户和开发者量身定做适合自身业务的智能搜索服务,助力业务增长。

此外,基于Havenask打造的行业AI搜索产品——阿里云OpenSearch,也将持续在阿里云上为企业级开发者提供全托管、免运维的一站式智能搜索服务,欢迎企业级开发者们试用。

支持与大语言模型结合,实现基于文档的问答系统,详情参考llm

核心能力

Havenask 的核心能力与优势,有以下几点:

  • 极致的工程性能:支持千亿级数据实时检索,百万QPS查询,百万TPS写入,毫秒级查询延迟与秒级数据更新。
  • C++的底层构建:对性能、内存、稳定性有更高保障。
  • SQL查询支持:支持SQL语法便捷查询,查询体验更友好。
  • 丰富的插件机制:支持各类业务插件,拓展性强。
  • 支持图化开发:实现算法分钟级快速迭代,定制能力丰富,在新一代智能检索场景下的支持效果优秀。
  • 支持向量检索:可通过与插件配合实现多模态搜索,满足更多场景的搜索服务搭建需求。

相关文档

开始使用

  • 镜像介绍(镜像平台: amd64)
    • ha3_runtime:可直接运行的镜像,无需编译代码,包含了问天引擎的可执行文件。
    • ha3_dev:用于开发测试的镜像,里面包含了开发测试时需要的各种依赖库和头文件,如何编译问天引擎请参考QuickStart
  • 环境要求
    • 运行镜像:确保机器内存大于4G,cpu大于2核,磁盘大小大于20G。
    • 开发镜像:确保机器内存大于10G,cpu大于2核,磁盘大小大于50G。
    • 使用前确保设备已经安装和启动Docker服务。
    • 单机模式需要确保本机能免密ssh登录自己,详情参考单机模式

启动服务

  • 创建容器 其中CONTAINER_NAME为指定的容器名
cd ~
git clone [email protected]:alibaba/havenask.git
cd ~/havenask/docker/havenask
docker pull registry.cn-hangzhou.aliyuncs.com/havenask/ha3_runtime:latest
./create_container.sh <CONTAINER_NAME> registry.cn-hangzhou.aliyuncs.com/havenask/ha3_runtime:latest
  • 登陆容器
./<CONTAINER_NAME>/sshme
  • 启动havneask服务
/ha3_install/hape start havenask
  • 创建表
/ha3_install/hape create table -t in0 -s /ha3_install/example/cases/normal/in0_schema.json -p 1
  • 写入数据
/ha3_install/sql_query.py --query "insert into in0 (createtime,hits,id,title,subject)values(1,2,4,'测试', '测试')"
  • 查询数据
/ha3_install/sql_query.py --query "select * from in0"

联系我们

官方技术交流钉钉群:

3293821693450208

havenask's People

Contributors

dengwx2009 avatar dyuyang avatar franksui avatar wenyiduan avatar xuxijie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

havenask's Issues

【数据周报】havenask 数据周报 3/13/2023 - 3/20/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
31 1033 (-) 206 (-) 8 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
3 1 3 2

PR 概览

感谢各位贡献者对社区的贡献,项目中有 2 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接
@lixuefeng123 1 #36 [plugins] add build_plugins && summary_plugins demo&doc
@WenyiDuan 1 #35 支持实时数据写入和查询

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

依赖的内部库有开源的计划吗?

非常幸运可以看到阿里 ha3 的开源代码,但是注意到依赖了很多阿里内部库,比如 alog/autil/arpc/cava,请问这些配套的内部库有开源的计划吗?Many Thanks...

【数据周报】havenask 数据周报 2/27/2023 - 3/6/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
32 1014 (-) 203 (-) 7 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
1 0 2 0

PR 概览

感谢各位贡献者对社区的贡献,项目中有 0 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md。

【数据周报】havenask 数据周报 4/3/2023 - 4/10/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
31 1054 (↑6) 215 (↑4) 8 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
1 0 1 1

PR 概览

感谢各位贡献者对社区的贡献,项目中有 1 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接
@WenyiDuan 1 #52 [build_service] Support raw doc realtime build

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

构建索引时候,bad_alloc请问是为哈?步骤基本照抄

python build_demo_data.py /ha3_install

/ha3_inst/usr/local/bin/bs startjob -c /home/root/havenask/example/scripts/../config/normal_config/offline_config/ -n in0 -j local -m full -d /home/root/havenask/example/scripts/../data/test.data -w /home/root/havenask/example/scripts/./workdir -i ./runtimedata -p 1 --documentformat=ha3
sh: /ha3_inst/usr/local/bin/bs: No such file or directory
[root@iZ2zea3idb9ewkgijwf44vZ scripts]# python build_demo_data.py /ha3_install
/ha3_install/usr/local/bin/bs startjob -c /home/root/havenask/example/scripts/../config/normal_config/offline_config/ -n in0 -j local -m full -d /home/root/havenask/example/scripts/../data/test.data -w /home/root/havenask/example/scripts/./workdir -i ./runtimedata -p 1 --documentformat=ha3
WARN: run without zookeeper lock
INFO: start build job...
/bin/env LD_LIBRARY_PATH=/ha3_install/usr/local/lib64/:/ha3_install/usr/local/lib/:/ha3_install/usr/lib:/ha3_install/usr/lib64:/ha3_depends/usr/local/lib64:/ha3_depends/usr/local/lib:/ha3_depends/usr/lib64/:/ha3_depends/usr/lib//usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/opt/taobao/java/jre/lib/amd64/server/:/opt/taobao/java/jre/lib/amd64/server/ HADOOP_HOME=/home/hadoop.devel/hadoop-2.6.2-cdh5.4.0-etao4/hadoop/hadoop/ JAVA_HOME=/opt/taobao/java/ VIPCLIENT_SET_FAILOVER_PATH=/tmp /ha3_install/usr/local/bin/bs_local_job -s build -m 1 -r 1 -p '{"need_partition": "True", "merge_parallel_num": "1", "generation": "0", "service_name": "", "index_root": "./runtimedata/in0/__temp__generation_0/", "zookeeper_root": "", "document_format": "ha3", "merge_config_name": "", "map_reduce_ratio": "1", "merge_timestamp": "1670227499", "user_name": "", "cluster_names": "in0", "build_parallel_num": "1", "amon_agent_port": "10086", "partition_split_num": "1", "data": "/home/root/havenask/example/scripts/../data/test.data", "build_partition_from": "0", "partition_count": "1", "config": "/home/root/havenask/example/scripts/../config/normal_config/offline_config/0", "src_signature": "1670227499", "build_mode": "full", "build_partition_count": "1"}'
local build failed data[] error[terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
] code[-6]

ABI=1编译报错:static_assert(sizeof(BuildConfigBase) == 80

使用-D_GLIBCXX_USE_CXX11_ABI=1, indexlib编译报错。可否提供ABI=1的可以编译版本?包含autil,等库

Execution platform: @bazel_tools//platforms:host_platform
In file included from external/indexlib/includes/index_base/segment/in_memory_segment.h:8,
                 from external/indexlib/includes/index/normal/attribute/accessor/var_num_attribute_reader.h:20,
                 from external/indexlib/includes/index/normal/attribute/accessor/string_attribute_reader.h:8,
                 from external/indexlib/includes/index/normal/attribute/accessor/section_data_reader.h:9,
                 from external/indexlib/includes/index/normal/attribute/accessor/section_attribute_reader_impl.h:10,
                 from external/indexlib/includes/index/normal/inverted_index/accessor/position_iterator_typed.h:8,
                 from external/indexlib/includes/index/normal/inverted_index/builtin_index/bitmap/bitmap_posting_iterator.h:7,
                 from external/indexlib/src/index/normal/inverted_index/builtin_index/bitmap/bitmap_posting_iterator.cpp:2:
external/indexlib/includes/config/build_config.h:19:43: error: static assertion failed: BuildConfigBase size change!
     static_assert(sizeof(BuildConfigBase) == 80, "BuildConfigBase size change!");
                   ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
Target //:worker failed to build
INFO: Elapsed time: 301.738s, Critical Path: 54.06s
INFO: 196 processes: 196 local.

gcc --version
gcc (GCC) 8.3.0

希望qrs开启SO_REUSEPORT选项

目前部署使用的是大规格裸金属机器,核数在96,104到256不等,部署上需要单机多实例并绑定numa节点。为了对上游屏蔽具体机型差异,结合现有服务发现机制现状,最好方式是服务对外提供统一端口号,可选的实现方式有两种:

  1. 通过k8s虚拟网络方式(非HOST网络)完成内外端口映射
  2. 使用HOST网络并在进程监听端口时开启SO_REUSEPORT选项,支持单机多实例复用端口

对于第1种方式,在非极端压力场景下足够使用,但在时延敏感/网络传输压力大的场景下,K8s虚拟网络存在时延损失以及容易出现各种概率性的超时问题。

因此当前生产环境选用的是方案2,当前qrs所用sap_server未开放代码,希望开放代码或者能够支持SO_REUSEPORT选项,非常感谢

Part of the real-time index code is incomplete

镜像版本havenask/ha3_runtime:0.3.0(336a1ca3e83f)二进制库无问题
其日志:
[INFO] [631,build/release64/build_service/workflow/RawDocBuilderConsumer.cpp -- getLocator():83] [builder locator [0:-1]]
但代码对应不上。
无论是master分支还是其他分支,RawDocBuilderConsumer.cpp只有59行,且其编译出来的代码,无法通过实时索引验证。
看上去应该是索引parse&builder过程中缺少了 对RawDoc 的opType传递,导致出现
unknown doc operator的错误。

【数据周报】havenask 数据周报 4/10/2023 - 4/17/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
30 1058 (↑5) 212 (↑1) 8 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
2 1 0 0

PR 概览

感谢各位贡献者对社区的贡献,项目中有 0 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

havenask 1.0版本规划

  1. 升级Havenask的基础编译环境
    • gcc升级至gcc 10
    • glibc升级至glibc 2.32
    • 编译工具scons升级为bazel
  2. 升级indexlib至indexlibv2,扩展性更好,更容易扩展新的索引类型,动态修改索引结构
  3. 支持读写统一,自持有数据,实时索引整理
  4. 支持单节点承载多数据分片,单机多shard
  5. 单机模式下,支持qrs和searcher角色合并
  6. 开放更多的组件和基础库

索引数据挂载在分布式存储searcher无法正常启动

将构建好的索引数据挂载到分布式存储后searcher一直无法成功启动,查看ha3.log发现如下ERROR:
[ERROR] [201, build/release64/indexlib/file_system/mmap_file_node.cpp -- LoadData():309] [lock file:[/home/xxx/cases/normal/workdir/local_search_12000/in0_0/runtimedata/in0/generation_0/partition_0_65535/segment_14_level_0/index/title/bitmap_posting] FAILED, errno: 12, errmsg: Cannot allocate memory]
查看代码是mmap_file_node.cpp中的mlock报错

            if (mlock(base + offset, lockLen) < 0)
            {
                INDEXLIB_FATAL_ERROR(FileIO, "lock file: [%s] FAILED"
                        ", errno: %d, errmsg: %s",
                        GetPath().c_str(), errno, strerror(errno));
            }

查看mlock相关文档时认为是
ENOMEM (mlock(), mlock2(), and munlock()) Some of the specified
address range does not correspond to mapped pages in the
address space of the process.
这个问题导致的,目前通过cp的方式将数据拷贝进来后searcher才能过成功启动。
请问这个问题有没有更好的解决方式呢?

MultiPartitionMerger的counter merge存在bug

string MultiPartSegmentDirectory::GetLatestCounterMapContent() const

string MultiPartSegmentDirectory::GetLatestCounterMapContent() const
{
    if (mPartSegIds.empty())
    {
        return CounterMap::EMPTY_COUNTER_MAP_JSON;
    }

    CounterMap mergedCounterMap;
    for (const auto& segVec : mPartSegIds)
    {
        if (segVec.empty())
        {
            continue;
        }
        segmentid_t lastSegIdOfPartition = segVec.back();
        mergedCounterMap.Merge(
                GetCounterMapContent(mSegments.at(lastSegIdOfPartition)),
                CounterBase::FJT_MERGE);
    }
    return mergedCounterMap.ToJsonString();
}

这段Counter merge的代码有问题,merge出来State类型的counter会覆盖,所以deletedDocCount和partitionDocCount这两个counter的值是错误的。

{"__type__":"DIR","offline":{"__type__":"DIR","build":{"__type__":"DIR","addDocCount":{"__type__":"ACC","value":2000},"deleteDocCount":{"__type__":"ACC","value":0},"updateDocCount":{"__type__":"ACC","value":0}},"deletedDocCount":{"__type__":"STATE","value":0},"partitionDocCount":{"__type__":"STATE","value":1000}}

将两个partition合并,会出现这种情况,ACC了2000次,有2000个doc,但是partitionDocCount的值只有1000。

【数据周报】havenask 数据周报 3/6/2023 - 3/13/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
31 1026 (-) 207 (-) 8 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
2 1 1 2

PR 概览

感谢各位贡献者对社区的贡献,项目中有 2 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接
@yulei666 1 #32 fix multi part merger counter bug
@lixuefeng123 1 #29 [plugins] add function_plugins demo&doc

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量
@foreverhy 1
@yulei666 1

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md。

【数据周报】havenask 数据周报 3/20/2023 - 3/27/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
31 1039 (↑8) 206 (↑1) 8 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
0 2 6 5

PR 概览

感谢各位贡献者对社区的贡献,项目中有 5 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接
@dyuyang 3 #40 havenask distributed pe tool
#43 hape: remove bs choice in upc and add user_cmd when starting single w…
#44 update image version in README
@lixuefeng123 1 #45 [plugins] add sql udf_plugins demo&doc
@WenyiDuan 1 #41 [indexlib] add ttl test data

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

[BUG] hape获取机器ip异常

当/etc/hosts中包含127.0.0.1时,hape调用的python socket接口无法正确获取网卡ip,而是返回127.0.0.1

通过kvpair传参,转换provider结果为空指针

使用方式:
通过sql的kvpair传递参数,然后在evaluate中使用,格式如下:
&&kvpair=start_time:2023-06-01 10:00:00 000;end_time:2023-06-03 10:00:00 000

获取参数思路:
在udf_plugins的函数beginRequest中解析出 _resource,然后通过_resource解析出kvpairs

问题:在转换beginRequest函数参数provider时,转换出的结果是空指针,导致无法继续解析出_resource

代码:

bool SumFuncInterface::beginRequest(suez::turing::FunctionProvider *provider) {
    // 根据日志,provider不为NULL
    if (provider == NULL) {
        HA3_LOG(INFO, "provider is NULL in beginRequest");
        return true;
    }
    
    HA3_NS(func_expression)::FunctionProvider *funcProvider = 
        dynamic_cast<HA3_NS(func_expression)::FunctionProvider *>(provider); 

    // 根据日志,funcProvider为NULL
    if (funcProvider == NULL) {
        HA3_LOG(INFO, "funcProvider is NULL in beginRequest");
        return true;
    }

    auto resource = funcProvider->getSearchPluginResource();


    // 获取kvpairs代码
    // ...

    return true;
}

如何将日志打到标准输出

目前部署平台采集日志的方式为采集标准输出的数据,所以需要把输出到ha3.log和access.log的内容打到标准输出,请问如何配置呢?目前尝试过修改ha3_install中的ha3_alog.conf,将FileAppender改为ConsoleAppender,但是没有效果。如果通过软链把ha3.log和access.log链接到标准输出,会在local_search_starter.py中卡在wait_load()里面,因为函数中tail ha3.log一直拿不到内容导致无限循环。

【数据周报】havenask 数据周报 5/22/2023 - 5/29/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
30 1098 (↑10) 217 (-) 9 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
0 0 0 0

PR 概览

感谢各位贡献者对社区的贡献,项目中有 0 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

【数据周报】havenask 数据周报 6/12/2023 - 6/19/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
30 1124 (↑12) 222 (↑3) 2 (↑2)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
1 1 1 1

PR 概览

感谢各位贡献者对社区的贡献,项目中有 1 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接
@WenyiDuan 1 #88 Update README.md

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

本周很荣幸有新的贡献者加入 havenask 社区大家庭。非常感谢大家的贡献,如果你也想成为贡献者的一员,可以从这里开始:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md。
新贡献者:

@dyuyang

@WenyiDuan

再次感谢大家的贡献

【数据周报】havenask 数据周报 5/8/2023 - 5/15/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
30 1080 (↑6) 215 (↑1) 8 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
2 1 5 5

PR 概览

感谢各位贡献者对社区的贡献,项目中有 5 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接
@xuxijie 3 #68 Update pk_hash.py
#69 Update HashAlgorithm.java
#70 0.3
@WenyiDuan 1 #71 [plugins] fix reader buffer && add batch timeout
@dyuyang 1 #65 remove useless code

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

【数据周报】havenask 数据周报 4/17/2023 - 4/24/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
30 1065 (↑7) 214 (↑1) 8 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
1 1 2 1

PR 概览

感谢各位贡献者对社区的贡献,项目中有 1 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接
@dyuyang 1 #60 [hape] Fix not loading new config bug when upc

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

编译时总是报这个错,OfflineConfigBase size change

看了下,在这个文件中 aios/indexlib/indexlib/config/offline_config.h
这个size为啥会变啊?

class OfflineConfig : public OfflineConfigBase
{
static_assert(sizeof(OfflineConfigBase) == 312, "OfflineConfigBase size change!");

【数据周报】havenask 数据周报 6/5/2023 - 6/12/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
30 1113 (↑10) 219 (↑1) 9 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
2 1 0 0

PR 概览

感谢各位贡献者对社区的贡献,项目中有 0 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

【数据周报】havenask 数据周报 3/27/2023 - 4/3/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
31 1048 (↑10) 207 (↑2) 8 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
1 0 0 0

PR 概览

感谢各位贡献者对社区的贡献,项目中有 0 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

【数据周报】havenask 数据周报 5/29/2023 - 6/5/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
30 1103 (↑5) 218 (↑1) 9 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
1 0 0 0

PR 概览

感谢各位贡献者对社区的贡献,项目中有 0 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

【数据周报】havenask 数据周报 5/15/2023 - 5/22/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
30 1088 (↑9) 217 (↑2) 9 (↑1)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
0 1 5 5

PR 概览

感谢各位贡献者对社区的贡献,项目中有 5 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接
@goctave 4 #74 support llm
#75 update llm README
#76 llm support using aliyun opensearch
#77 local llm support gpu
@WenyiDuan 1 #73 [plugins] fix reader buffer && add batch timeout (#71)

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

本周很荣幸有新的贡献者加入 havenask 社区大家庭。非常感谢大家的贡献,如果你也想成为贡献者的一员,可以从这里开始:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md。
新贡献者:

@goctave

再次感谢大家的贡献

【数据周报】havenask 数据周报 5/1/2023 - 5/8/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
30 1075 (↑2) 214 (-) 8 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
0 0 0 0

PR 概览

感谢各位贡献者对社区的贡献,项目中有 0 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

本地构建无法通过

本地构建无法通过,有计划支持本地构建吗?

  1. python 语法是2.x? 构建是不是强依赖了 python2 , 已经过时了, 不会还得装 python2.5 吧?
  2. ascons 是内部 scons吗, 源码中可以看到 http://grd.alibaba-inc.com/projects/heavenasks/wiki/ascons_usage 提供的地址是内部地址。
  3. 其他依赖没有提供
➜  havenask git:(main) ✗ python build 20
cd /home/aa/projects/alibaba/havenask/aios/indexlib && scons install -j20
scons: Reading SConscript files ...

scons: *** No tool module 'ascons' found in /home/aa/.local/lib/python3.8/site-packages/SCons/Tool
File "/home/aa/projects/alibaba/havenask/aios/indexlib/SConstruct", line 4, in <module>
cd /home/aa/projects/alibaba/havenask/aios/build_service && scons install -j20
scons: Reading SConscript files ...
  File "/home/aa/projects/alibaba/havenask/aios/build_service/SConstruct", line 51

    print env['CXX']

          ^

SyntaxError: Missing parentheses in call to 'print'. Did you mean print(env['CXX'])?

cd /home/aa/projects/alibaba/havenask/aios/ha3 && scons install -j20
scons: Reading SConscript files ...

scons: *** No tool module 'ascons' found in /home/aa/.local/lib/python3.8/site-packages/SCons/Tool
File "/home/aa/projects/alibaba/havenask/aios/ha3/SConstruct", line 18, in <module>

【数据周报】havenask 数据周报 4/24/2023 - 5/1/2023

havenask 数据周报

更多开发者贡献细节请关注开发者贡献排行榜

该 Issue 为 havenask 数据周报。该周报总结了项目中上周所发生的变化情况,包括合入的 PR、新贡献者等,未来也会加入更多功能。

仓库概览

基本数据

基本数据部分展示了 watch、star、fork 和贡献者数量在过去一周的变化情况。

Watch Star Fork 贡献者
30 1073 (↑10) 214 (-) 8 (-)

Issue 和 PR

Issue 和 PR 显示了过去一周新增与关闭的 Issue 和 PR 的数量。

Issue 新增 Issue 关闭 PR 新增 PR 合入
1 0 0 0

PR 概览

感谢各位贡献者对社区的贡献,项目中有 0 个 PR 在上周被合入。它们是:

贡献者 数量 PR 链接

代码 review 概览

havenask 社区鼓励所有开发者帮助我们进行代码 reviewe 从而可以保障和提升代码质量。
我们会统计每周每位开发者的代码 review 数量,也希望大家可以积极参与到项目的代码 review 之中。

开发者 ID PR review 数量

贡献者概览

项目本周没有新增的贡献者。
havenask 社区欢迎任意形式的贡献,有任何的想法和建议都欢迎提出,也希望可以将 havenask 推荐给需要的开发者。
也欢迎成为我们的贡献者,这里是我们的贡献指南:https://github.com/alibaba/havenask/blob/master/CONTRIBUTING.md

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.