使用Solr实现搜索所有内容

时间:2012-07-29 10:39:47

标签: search solr lucene search-engine

如何搜索所有类型的应用程序索引&跟踪数据到其搜索索引中。

最近我一直在研究Apache Solr,它为搜索产生了惊人的效果。但它是针对正在搜索的一个特定产品目录部分。由于Solr是存储它的数据文档,我们将可搜索字段索引为solr中的文档。我不确定它是如何用于构建搜索所有类型的搜索?我应该如何将数据索引到Solr?

通过搜索我的意思,搜索不同的模块,以获取客户,服务,帐户,订单,目录,支持服务单等信息。因此搜索返回结果,这些结果由一个搜索表单组合而用户不要是否需要采用不同的形式来搜索该模块?

我是否需要为每个这样的数据模型构建不同的索引,或者将它们作为单个文档存储到solr中?实现这一目标的最佳策略是什么。

1 个答案:

答案 0 :(得分:3)

您可以将所有数据存储在单个索引中,每个文档都有一个存储其类型(客户,订单等)的额外字段。对于模块内搜索,只需将搜索查询限制为该类型的文档。对于“搜索全部”功能,请使用copyField将每种文档类型中的所有相关字段复制到一个大字段中,并使用文档类型字段进行搜索,不受约束。