使用Searchkick搜索多个字段,每个字段具有不同的匹配项

时间:2019-07-19 06:56:16

标签: ruby-on-rails elasticsearch searchkick

使用以下字段为订单提供ActiveRecord模型

Order(:id, :delivery_name, :consignment_number)

什么是最好的搜索方式,对每个字段进行不同的匹配,就像这样

id - exact
delivery_name - partial matching (word_start, word_middle)
consignment_number - exact

通常的想法是,可以使用单个搜索框搜索多个字段,并在任何条件下返回匹配项。例如,具有以下记录

id   | delivery_name  | consignment_number
==========================================
1000 | Bill Smith     | A1234
1001 | Janet Example  | B1000 
1002 | Bill Examsmith | C4322

以下查询返回这些记录

q = "1000" returns Order 1000
q = "Exam" returns Order 1000, 1001
q = "B1000" returns Order 1001
q = "smith" returns Order 1000, 1002

谢谢。

0 个答案:

没有答案