我在基于ASP.NET MVC3 C#的eCommerce网站上工作。我已经在其中实现了SolrNet。有两个类似于"CategoryId“和"ProductName”的字段。我想搜索关键字,特别是CategoryID。请注意,产品映射到多个类别中。所以基本上我试着通过下面的查询使用solr admin进行搜索,但没有得到确切的结果。
(CategoryID:26 AND Name:Gigabyte) OR (CategoryID:118 AND Name:Gigabyte) OR (CategoryID:121 AND Name:Gigabyte)查询中有什么问题?如果我想在有限的类别中搜索相同的产品名称,将查询什么?
发布于 2012-09-07 19:50:22
我将利用Solr中的Filter Query来限制您给出的示例中CategoryID的结果。因此,在Solr Admin页面中,单击"Make a Query“部分下的Full Interface链接,然后输入以下内容:
查询字符串:
Name:Gigabyte
过滤器查询:(CategoryId:26 OR CategoryId:118 OR CategoryId:121)
您可以通过以下方式在SolrNet中执行相同的操作:
ISolrOperations<Item> solr = ...
var items = solr.Query(new SolrQueryByField("name","Gigabyte", new QueryOptions {
FilterQueries = new ISolrQuery[] {
new SolrQueryByField("CategoryID", 26),
new SolrQueryByField("CategoryID", 118),
new SolrQueryByField("CategoryID", 121),
}
});https://stackoverflow.com/questions/12314007
复制相似问题