gpt4 book ai didi

c# - Lucene.net 可以用于基于标签的搜索系统吗?

转载 作者:行者123 更新时间:2023-11-30 17:13:28 25 4
gpt4 key购买 nike

我正在开发一个包含数百个视频的 ASP.Net MVC3 应用程序。我想创建一个基于标签和其他参数的搜索系统,例如上传视频的用户类型、视频日期、视频类别等。

我一直在四处寻找,Lucene.NET 似乎是全文搜索的好工具,但我不知道它是否是我项目的最佳解决方案......我已经阅读了教程,他们建议继续搜索索引到最低限度,但也不要访问数据库以检索未存储在搜索索引中的额外数据...

这怎么可能?

让我们举个例子:我有一个视频行(作为一个概念,它实际上保存在不同的 SQL 表中),其中包含视频 ID、视频名称、视频文件名、完整路径、用户 ID 的列、用户类型、标签、创建日期、视频类别、视频子类别、视频位置等...如果我想创建一个 lucene 搜索索引,我想我必须将所有信息都放在那里,以便稍后查询在每个参数上,对吗?

在我看来,这似乎是 SQL 数据库的副本,但在 lucene 搜索索引中添加、编辑和删除文档的工作量过大。这是使用lucene时的标准场景吗?我在 lucene 中看到的所有示例都是基于帖子 ID、帖子标题和帖子正文。

你怎么看?你能给我点光吗?

最佳答案

是的,如果您想从 lucene 中查询多个字段(包括标签之类的东西),您需要使该数据对 lucene 可用。这可能听起来像是重复,但它不是冗余重复 - 它正在将数据重组为一个非常不同的布局 - 为搜索建立索引。

它应该工作正常;这几乎就是搜索的工作方式here on stackoverflow (使用 lucene.net 执行搜索)。

然而,应该注意的是,几百个并不是一个大样本:坦率地说,您可以按照自己喜欢的方式进行,并且花费的时间大致相同。编写复杂的 SQL 查询应该可行,在数据库中进行全文搜索(这就是 stackoverflow 的搜索使用 的工作方式),过滤内存中的对象(几百级) ,你可以简单地缓存所有数据,不包括内存中的视频帧)。

关于c# - Lucene.net 可以用于基于标签的搜索系统吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9716889/

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