我正在构建一个 MVC4 应用程序来对 wiki 文档进行搜索。一切都很好,但我一直无法找出使方面可链接的最佳方法。
我在我的起始页上显示了各个方面,以便更轻松地找到您要查找的关键字:
var products = solr.Query(SolrQuery.All,
new QueryOptions {
Rows = 0,
Facet = new FacetParameters {
Queries = new[] { new SolrFacetFieldQuery("products") }
}
});
foreach(var facet in products.FacetFields["products"]) {
var catagoryFacet = new CategoryFacet(facet.Key, facet.Value);
facetProductList.Add(catagoryFacet);
}
然后我像这样遍历视图中的列表:
<h2> Products: </h2>
@foreach (var facet in Model)
{
foreach(var item in facet.products) {
<td><a href="http://localhost:5000/Home/FreeSearch?search=@Html.DisplayFor(ModelItem => item.Name)">@Html.DisplayFor(ModelItem => item.Name), @Html.DisplayFor(ModelItem => item.Count)</a></td> <br/>
}
但是使用这种方法,当用户单击链接时,我会将 facet 的单词发送回控制器,该控制器会触发对该关键字的搜索,因为我知道它存在。
我知道这是一种不好的方法,所以我试图找出更好的方法,并且由于我来自瑞典,如果我使用任何“åäö”,链接就会断开。可以通过 javascript 处理,但感觉非常难看,那么我怎样才能以更好的方式做到这一点?
我一直在查看过滤器查询,但如何使其可链接?
问候乔纳森