2010-08-13 49 views
0

我注意到在solrnet的例子中不可能深入搜索结果。也就是说,您会看到产品清单,但看不到这些产品的详细信息。solrnet和ASP.NET MVC

我的问题如下:

的MVC控制器调用SOLR和填充索引页主要包含了每一个细节视图模型。具体而言,如果我有大量文本字段并关注突出显示等高级功能,那么当我完成搜索时,SOLR将返回该详细信息页面所需的所有内容。由于我为索引页面提供了所有这些信息,当我点击索引页面上的项目时,加载详细信息页面的最佳方式是什么?如果我使用动作链接,我总是会重新从数据库中检索数据(从solr或关系数据库)。

任何想法或经验将不胜感激,

在此先感谢

JP

回答

2

就像你与关系数据库做到这一点,你发出两个不同的查询:一个用于搜索,另一个用于详细信息页面。请记住,网络是无状态的。

如果您的搜索结果中有不希望的大文本字段,但希望将其放在详细信息页面中,请将其从搜索查询中排除(使用projection)。

对详细信息页面的查询应该非常简单,如Query.Field("id").Is(Request.QueryString["id"]),不需要过滤器查询,方面,拼写更正或其他通常用于搜索的内容。

+0

这就是我的想法。这是否意味着突出显示功能实际上仅适用于索引页面而非详细信息页面?我很困惑它会如何工作,否则... – 2010-08-13 02:48:15

+0

@JP:你可以使用突出显示。 – 2010-08-13 03:10:51

+0

我可能(可能是)真的很慢,但你如何协调加载id(或索引字段)的东西做搜索,包括突出显示?确定突出显示需要来自详细信息页面的更复杂的查询,这会增加查找的复杂性?非常感谢您的帮助! – 2010-08-13 04:53:39