sea-team / gofound

GoFound GoLang Full text search go语言全文检索引擎,毫秒级查询。 使用http接口调用,集成Admin管理界面,任何系统都可以使用。
Apache License 2.0
1.59k stars 190 forks source link

Engine::Drop method does not work. #12

Closed AFKL1919 closed 2 years ago

AFKL1919 commented 2 years ago

环境配置

源码编译(go get & go build)后,将二进制文件放入docker内。

FROM ubuntu:20.04

COPY ./gofound /app/gofound
RUN mkdir /app/data &&\
    chmod 555 /app/gofound

WORKDIR /app

EXPOSE 5678

CMD ["./gofound", "--addr=:5678", "--data=./data"]

发生了什么

删除数据库后,虽然数据库的记录已经在内存中删除了,但对应生成的文件并没有删除。

似乎是Engine::Drop方法中的代码存在问题。

且其中的第551行不知道为什么要每次都要执行os.Remove(e.IndexPath),应该可以优化一下。

预期结果

删除数据库后,内存中的记录删除以外,对应的数据库文件也删除。

其他

我不确定这是否是预期行为,但个人感觉应该是一个bug。

newpanjing commented 2 years ago

没错,这就是一个bug,预计下个版本修复。

newpanjing commented 2 years ago

没错,这就是一个bug,预计下个版本修复。

newpanjing commented 2 years ago

https://github.com/newpanjing/gofound/releases/tag/v1.1.5

已经修复 并发布新版本

zhangchunlin commented 2 years ago

可是用最新的main分支,然后用python测试代码 https://github.com/newpanjing/gofound-python/blob/master/README.md 测试还是无法删除成功。