Solr获取找到最大关键字匹配的字段

时间:2013-12-15 06:08:03

标签: search solr indexing

我不确定是否可以使用solr完成此操作。但这就是我为在线商店搜索功能所做的事情。主搜索框是多个字段的dismax解析器:

 qf: description^1.0 color^1.0 name^1.0 size^1.0

目前在多个领域的权重相等。此外,我在其中一些领域创建了一个方面 例如:颜色,大小。客户端有一个请求,当他们使用特定关键字进行搜索并且它与任何分面字段匹配时,过滤器在前端显示为选中状态。因此,如果用户搜索'red'red的颜色构面应该显示为已选中。

由于solr正在多个字段中搜索,我认为这不可行或不是吗?

1 个答案:

答案 0 :(得分:1)

不是Solr。首先,此要求在用户体验级别存在缺陷。传统上,facets(也称为引导导航器)用于过滤搜索结果。只是拥有" red"跨越多个领域并不意味着所有出现的产品都是colr" red" 。 当你有" red"在Co过滤器中选择,您可以直观地告诉用户搜索结果中的所有产品都是"红色"。如果不是这样的话,就不要这样做。

就是这种情况,那么理想的情况是,当用户输入" red" ,你应首先检查用户输入对colr facets(最好是对缓存列表),然后将该颜色添加为过滤器,以查询为fq = colr:red参数,使其为" true"过滤并是搜索查询的一部分。这可以非常快速地对所有已知的显示小平面(colr,大小等)进行,并且如果匹配则自动激活它们。使用正确,这实际上会成为一个很酷的功能。