Sitecore Multisite Lucene搜索相关性

时间:2011-05-18 02:01:52

标签: lucene sitecore

我目前有Sitecore 6.4的多站点设置。我在网站上安装了LuceneSearch模块,但已要求在所有网站上显示搜索结果。我已经更改了web.config上索引定义中的“Root”,指向包含所有站点的根,这样就可以在所有站点上成功返回结果。

但是,需要对这些结果进行加权,以显示当前上下文网站的结果高于其他结果。

有没有简单的方法来实现这个目标?

我一直在想为每个网站创建一个单独的索引,然后循环遍历所有网站,首先从当前网站的索引返回结果,但我怀疑必须有更好的主意。

2 个答案:

答案 0 :(得分:0)

据我所知,在创建或重新构建索引时会设置提升值,因此您将无法根据上下文站点设置提升值。

只是想一想,但使用AdvancedDatabaseCrawler SharedSource模块,您可以添加一个名为“site”的新动态字段,并为要编制索引的每个项目存储站点ID或站点名称。然后,您可以搜索索引两次。获取当前上下文站点的所有结果,然后进行第二次搜索,获取站点字段不等于上下文站点的所有结果。

答案 1 :(得分:0)

您可以索引每个项目的路径并将其添加为lucene字段,然后使用每个站点的起始路径进行前缀查询。

注意:索引路径时,将(“/”或空格)替换为其他内容,例如“#”,并在构建查询时执行相同的操作。

提前使用lucene搜索,请查看:http://sitecoreblog.alexshyba.com/2010/11/sitecore-searcher-and-advanced-database.html