gpt4 book ai didi

SQL 将每个单词单独存储在文档中的最有效方法

转载 作者:太空狗 更新时间:2023-10-30 01:47:35 24 4
gpt4 key购买 nike

这是我的情况(或请参阅底部的 TLDR):我正在尝试制作一个系统,该系统将通过多个文档搜索用户输入的词并返回包含这些词的文档。用户将搜索数千个文档,每个文档有 10 - 100 多页长,并存储在网络服务器上。

我现在的解决方案是将每个唯一的单词存储在一个带有 ID 的表中(英语中可能只有 120 000 个相关单词),然后在一个单独的表中存储单词 ID,它所在的文档, 以及它在该文档中出现的次数。

例如:文档 foo 的文本是

abc abc def

文档栏的文本是

abc def ghi

文档表会有

编号 | 姓名

1 'foo'
2 'bar'

单词表:

编号 | 单词

1 'abc'
2 'def'
3 'ghi'

Word 文档表:

字号 | 文档编号 | 出现次数

1        1        2
1 2 1
2 1 1
2 2 1
3 2 1

正如您所看到的,当您有数千个文档并且每个文档都有数千个唯一的单词时,Word 文档表格会很快膨胀并且搜索时间太长。

TL;DR 我的问题是:

我如何将大型文档中的可搜索数据存储在 SQL 数据库中,同时保留使用我自己的搜索算法的能力(我知道 SQL 有一个内置的用于 .docs 和 pdfs 的搜索算法)基于自定义因素(如出现,以及其他),却没有一个巨大的表格来存放所有将每个单词链接到文档及其在该文档中的属性的条目?

抱歉阅读时间过长,感谢您的帮助!

最佳答案

您是否考虑过使用 Lucene 搜索 API 的 C# .net 实现,而不是使用 SQL Server 构建您自己的搜索引擎?看看https://github.com/apache/lucene.net

关于SQL 将每个单词单独存储在文档中的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20410907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com