【问题标题】:select multiple values in solr via the query array通过查询数组在 solr 中选择多个值
【发布时间】:2021-12-02 23:27:01
【问题描述】:

我有带有 Solr 字段多值的 Rails 应用程序:

 <field name='industry_id' type='pint' indexed="true" stored="true" required="true" docValues="true" multiValued="true" />

我想用数组搜索字段多值,例如:fq: industry_id: [1, 2, 3]。 经过研究,我知道如果我想这样做,它必须像 fq: industry_id: (1 2 3) 但在 solr_service 我定义方法:

#ids is an array
def suggest_jobs(ids)
    q = "industry_id: #{ids}"
    send_request(q)
end

def send_request(q_param)
    @solr.get 'select', params: {
      'q': q_param
    }
end

这不是语法。如何编辑方法以匹配格式fq: industry_id: (1 2 3)

【问题讨论】:

    标签: ruby-on-rails solr


    【解决方案1】:

    我认为您想将suggest_jobs 中的ids 扩展为逗号分隔列表,并在括号中包装该值,如下所示:

    #ids is an array
    def suggest_jobs(ids)
        ids_list = ids.join(",")
        q = "industry_id:(#{ids_list})" # industry_id:(1,2,3)
        send_request(q)
    end
    

    您的 send_request 方法正在设置 q 参数,但在您的问题中您提到了 fq 字段。任何一个都应该工作,只要确保在需要时进行调整。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-13
      • 1970-01-01
      • 2022-09-30
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 2016-01-26
      • 1970-01-01
      相关资源
      最近更新 更多