我知道搜索本身是一个巨大的领域,这似乎也是我的问题。我只是不知道该从何说起。
这是一个场景:我有很多商店,它们雇佣了很多人,而且有很多不同的产品出售。我需要为我的网站创建一个单一的文本字段搜索选项。此文本字段应搜索商店的元数据(地址、名称等)、产品的元数据(名称、类型等)并通过员工。
我认为这个搜索选项将在网站上广泛使用,因此它需要非常好的性能(在每个列中没有查找,string.Contains()等)。
目前,我正在考虑在数据库中为每个实体添加标记,这些标记指向商店/员工/产品,但我不确定这种数据复制是否易于维护。另一种选择是缓存流行的队列,然而,我认为任何队列都不会比其他队列更受欢迎。
我确信我不是第一个遇到这种问题的人。有没有什么通用的策略,第三方库,第三方站点或者只是提示我这样做?
提前感谢:)
发布于 2009-07-02 15:45:34
你看过Lucene吗?它是开源的,Java版本已经成熟。它可以极大地帮助您索引和搜索有组织的数据。我相信有适用于.Net、C(具有Perl/Ruby绑定)和Python的版本。
关于文档--至少在Java版本中有一些书籍,包括this one。
我有过使用它为存储在数据库中的关系数据建立索引的良好经验,以便能够以即席方式对其进行搜索。但是,它还可以爬行和索引基于文件的数据。
发布于 2009-07-02 16:06:06
你真的在寻找一个全文搜索引擎。teabot推荐的Lucene是一个很好的工具。
一个基于Lucene的项目(当然也是出售的)是DBSight,它提供了工具和接口,用于管理搜索结果的外观/格式,以及基于您自己定义的数据库查询结果在Lucene中设置索引。
我现在感觉像个先令。但我已经试过了,它工作得很好。
https://stackoverflow.com/questions/1075153
复制相似问题