6
我有15000个课程,我想提高每个班级的头衔,所以如果一个班级的精确匹配比其他任何事物都更好。Searchkick提高精确匹配
当我做Course.seach_kick('感兴趣的理论',1) 正确的搜索与'感兴趣的理论'作为第一个结果返回。
但是,当我做Course.search_kick('interest of theory of 3618',1)
3618是catalog_number时,将不返回任何结果。我期望返回利息理论,并首先返回。看起来搜索正在寻找完整的字符串“兴趣理论3618”被包含在课程的标题中。
我明白'和'是默认的操作符,是否需要使用'或'操作符?由于意想不到的结果,我对使用'或'运算符犹豫不决。
谢谢,我真的很喜欢使用宝石。
搜索方法:
def self.search_kick(query, page)
search(query,
fields: ["title^10", "description", "crse_id", "subject", "catalog_number" ],
facets: [:subject],
misspellings: false,
page: page,
per_page: 20
)
end
def search_data
{
title: title,
description: description,
crse_id: crse_id,
subject: subject,
catalog_number: catalog_nbr
}
end
你有没有解决过这个问题? – Kathan 2015-07-18 22:43:08
@Kathan与搜索踢宝石不同,我最终不得不使用搜索踢宝石完全弹性搜索。 – srm 2015-07-20 18:03:34