我的任务是在电子商务网站上建立搜索服务。目前,它在 sql server 上使用全文索引,这并不理想,因为它很慢,而且不是那么灵活。
您如何建议我将其更改为 lucene?我的意思是,我最初将如何将所有数据加载到索引中,以及如何维护它?在我的“插入产品”方法中,我是否也将其插入索引中?
任何信息都有很大帮助!
我的任务是在电子商务网站上建立搜索服务。目前,它在 sql server 上使用全文索引,这并不理想,因为它很慢,而且不是那么灵活。
您如何建议我将其更改为 lucene?我的意思是,我最初将如何将所有数据加载到索引中,以及如何维护它?在我的“插入产品”方法中,我是否也将其插入索引中?
任何信息都有很大帮助!
我目前正在使用基于 Lucene 构建的 Solr 作为我的一个电子商务项目的搜索引擎。它工作得很好。
http://lucene.apache.org/solr/
此外,就在 DB 和 Solr 之间保持产品同步而言,您可以构建自己的“清扫器”或在 Solr 中实现 DataImportHandler。
http://wiki.apache.org/solr/DataImportHandler
我们构建了自己的清扫器,它会每隔一段时间读取数据库视图并检查是否有新产品或任何产品数据已更新。这是一种蛮力方法,我希望我以前知道 DataImportHandler 。
Facets 也是 Solr 的一个非常强大的部分。我强烈推荐使用它们。
如果您决定使用 Lucene.NET 进行搜索,则需要执行以下操作:
这是一个很棒的平台。我们最初尝试使用自由文本搜索,发现创建索引、更新和管理索引很麻烦。搜索并不比标准 sql 搜索快多少。他们确实在搜索查询中提供了一些灵活性......但即使这与 Lucene 的强大功能相比也相形见绌!