0

使用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 中),那么我没有结果。如果一个术语(比如“律师”之类的职位出现在多个字段中,例如 job_description 和 job_title),我会返回结果。为什么是这样?这似乎违反直觉。

4

0 回答 0