我想知道是否有根据某些规则将最终用户查询转换为更复杂的solr查询。
例如,如果用户在32英寸电视中类型,那么我想使用Dismax查询解析器来让Solr照顾此用户查询字符串,如下所示:
http://localhost:8983/solr/select/?q=32" television&defType=dismax
但是,如果用户在"销售电视"中类型类型,那么我想定期搜索令牌电视和Onsale Flag的真实,如下所示:
http://localhost:8983/solr/select/?q=name:televisions AND isOnSale:true
这可能吗?或必须此逻辑需要提前搜索表格,其中用户可以在复选框中清楚地说明他们只想出售项目。
谢谢。
转换用户查询是很可能的。您可以按照两种方式
进行操作实现一个servlet过滤器,该筛选到用户查询将其转换为solr请求处理程序。
查看SOLR中的查询解析器插件,并根据现有的插件(如标准查询解析器)实现一个插件,并将其修改以应用转换规则。
让搜索通过整个索引进行,然后让用户选择。如果出现评论,则将其带有适当的视图。如果出现产品,请搜索更多产品。
三星32 in 评论 - 阅读更多
lg 32 in 提供 - 找到更多类似的
您的报价页面可以提供更多选项,例如过滤产品。
您可以在文档上使用全局提升字段。例如,销售产品的得分为1.0
,而库存产品中的产品具有0.33
。对新产品的评论具有1.0
,旧产品的评论较少。
也许您可以设置搜索,因此当某人搜索具有Isonsale作为次级排序参数时。因此,默认情况下按得分排序,然后按以色列分类或仅由Isonsale排序。这样,您仍然会在结果中获得所有"电视"广告。