mysql存储和搜索文本

xdyibdwo  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(1)|浏览(269)

假设我们有大约3百万份一页的文件。我想导入mysql数据库中的所有文本。对于我正在阅读的内容,我可以将其添加为文本字段(65535个字符)。我的挑战是,我们每天都会收到一些文件,这些文件与我们现有的3m文件中的一个文件略有相同。当输入的文本不相同时,有没有一种方法或结构可以在mysql文本中搜索文本块?我需要知道我们是否有一个或多个文件是密切匹配的一个收到。在一个完美的世界,我想有一个结果是一个更接近匹配的搜索文本。。。
由此产生的机制可以包括mysql和python作为解决方案。我在任何地方都找不到最好的方法来做这件事,也不需要花很长时间去寻找。
[编辑:2020-09-29]从目前我发现的情况来看,像萨比克指出的那样,使用elasticsearch似乎是解决这类问题的一个好方向。
[编辑:2020-12-14]我们终于尝试了elasticsearch,这绝对是一个很好的解决方案。我们发现不完美的一点是,我们希望在文档中搜索,但如果没有足够接近的文档,我们希望有一个类似的分数,看起来这不是它的工作方式。它总是返回一个文档,分数是无关的。我们可能会手动将最佳匹配与搜索到的文档进行比较,以获得我们自己的相似性分数。

agxfikkp

agxfikkp1#

不久前,我尝试用mysql做类似的事情,然后我发现了sqlserverfilestream。
我将文档保存在二进制类型varbinary(max)的字段中,这样占用的空间更少,搜索速度也非常快。
也许现在你可以看看mysql是否有类似于filestream的东西,我最近还没有研究过。

相关问题