我想在Solr的多个字段中搜索。 (知道复制字段的概念,我知道(e)dismax搜索处理程序。)
所以我有一个有序的字段列表,我想要搜索这些术语。 1.)SKU 2.)姓名 3.)描述 4.)总结 等等。
现在,当查询与一个术语匹配时,让我们说在SKU字段中,我想要这个匹配,并且在前面的字段中没有进一步的搜索。
仅在第一个字段(SKU字段)中根本没有匹配时,应使用第二个字段(在本例中为“name”),依此类推。
Solr可以实现吗? 我是否必须为此实现自己的Lucene Search Handler?
欢迎任何建议!
谢谢你, 哈德
答案 0 :(得分:2)
我认为您的案例需要执行4次不同的搜索。如果你实现了自己的SearchHandler,你可以避免在4个不同的请求中对搜索结果累积的惩罚。这意味着,您将发送一个查询,自定义SearchHandler将执行4次搜索并准备一个结果集。
答案 1 :(得分:0)
如果我猜对了,你想根据字段的顺序对结果进行排名。如果是这样,那么您可以使用标准查询,如
q = sku :(查询)^ 4或名称:(查询)^ 3或描述:(查询)^ 2或摘要:(查询)
这将按字段的顺序对结果进行排名。
希望是有帮助的。