简体   繁体   中英

How to search integer fields using searchkick?

How to make searchkick search integer fields?

Let's say i have a Book model with three properties namely name:string, author:string and pages:integer.

I want to search according to pages field. Right now if i use a query like below it works for string fields ie name and author but it doesnt work for pages field which is of integer type.

Book.search(q, 
            misspellings: { below: 5 }, 
            fields: [:name, :author, :pages], 
            order: { name: 'asc' }, 
            page: params[:page], 
            per_page: 20)

I go to console and just searched Book.search(120, fields: [:pages]) and it returns empty result even though there are records with pages 120. Why is searchkick not searching for integer fields? I appreciate any help to this dilemma i am facing. Thanks!

I fixed it with this

In Book model

  def search_data
    {

      name: name,
      author: author,
      pages: pages.to_s 


    }
  end

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM