使用 pg_search 和 Ruby on Rails 按字母顺序排序

rus*_*ord 3 postgresql search full-text-search ruby-on-rails

我正在尝试在 Rails 应用程序中使用pg_search根据用户的查询对部件列表进行排序。不过,我遇到了一些麻烦——我似乎无法从升序搜索中获得正确的结果。

这是我的模型:

class Pcdb::Part < CatalogsRecord
  include PgSearch
  self.table_name = "parts"
  belongs_to :parts_description
  pg_search_scope :search_for_parts, against: :part_terminology_name,
                   using: { tsearch: { dictionary: "simple", prefix: true } }
end
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有以下代码:

Pcdb::Part.search_for_parts(query)其中query参数是由用户输入的。

我尝试过使用query.order("parts.part_terminology_name ASC")没有效果。

现在,如果query参数是“Windshield Wiper”,这是我得到的结果:

Windshield Wiper Motor And Windshield Washer Pump Assembly
Windshield Wiper Motor Relay
Windshield Wiper Switch
Windshield Wiper Motor
Windshield Wiper Arm
Windshield Wiper Blade
Windshield Wiper Linkage
Windshield Wiper Linkage Pivot
Windshield Wiper Blade Refill
Run Code Online (Sandbox Code Playgroud)

我实际上正在尝试实现这样的结果:

Windshield Wiper Arm
Windshield Wiper Blade
Windshield Wiper Blade Refill
Windshield Wiper Linkage
Windshield Wiper Linkage Pivot
Windshield Wiper Motor
Windshield Wiper Motor And Windshield Washer Pump Assembly
Windshield Wiper Motor Relay
Windshield Wiper Switch
Run Code Online (Sandbox Code Playgroud)

我很高兴能指出正确的方向!

ell*_*itt 5

尝试使用reorder而不是order. reorder将删除其他地方定义的任何其他顺序,以防出现问题。