使用elastsearch-rails gem,目前我有:
response = Employee.search(
size: 20,
query: {
multi_match: {
"query" => search_terms,
"type" => "cross_fields",
"fields" => ["first_name^3", "last_name^3", "full_name^4", "email", "job_description^5", "job_title^5"]
}
}
)
我注意到,通过执行多匹配/跨字段搜索,如果我搜索在Employee数据库列中只出现一次的术语(例如," John"只会出现在first_name中,不是job_description或job_title),然后我没有得到任何结果。如果一个术语(比如像#34;律师"这样的职位出现在多个字段中,如job_description和job_title),我会得到结果。为什么是这样?这似乎违反直觉。