我有一个设置,其中我在 solr 中有两个索引:product_code 和 title。product_code 使用 StrField,title 使用带有 DoubleMetaphone 的 TextField。
我有一个搜索框供用户输入产品代码或自由文本进行标题搜索。我目前正在使用 dismax 并做 qf=product_code 标题。我遇到的问题是,一旦应用了 DoubleMetaphone,产品代码(例如 LC12345)通常可能与标题中的单词匹配。
所以我想要做的是以这样一种方式构造一个查询,它首先将查询词应用于 product_code 索引,并且只有在没有匹配项时才将查询词应用于标题索引。有没有办法做到这一点而不必对 Solr 进行两个单独的查询?这是针对 AJAX“实时搜索”的,所以我想将延迟保持在最低限度,所以不想对 Solr 进行两个单独的查询。
-马特