gpt4 book ai didi

ruby-on-rails - 使用另存为 block 的查询时如何创建具有minimum_number_should_match的 bool 查询

转载 作者:行者123 更新时间:2023-12-02 22:42:37 29 4
gpt4 key购买 nike

我将轮胎与Elasticsearch结合使用,我很困惑如何使用minimum_number_should_match选项创建 bool(boolean) 查询,同时还要将存储在块中的一组查询扔给它。

所以我有

options = {:minimum_number_should_match => 1}
s = Tire.search 'variations' do |search|
search.query do |query|
query.boolean options, &keyword_query(params[:keyword]) unless params[:keyword].blank?
end
end

def keyword_query(keyword)
lambda do |boolean|
boolean.should { string "name:*#{keyword}*"}
boolean.should { string "number:*#{keyword}*"}
boolean.should { string "nrf:*#{keyword}*"}
boolean.should { string "base_color:*#{keyword}*"}
boolean.should { string "skus:*#{keyword}*"}
boolean.should { string "color_name:*#{keyword}*"}
end
end`

但是该选项未添加到对ElasticSearch的最终查询请求中。 keyword_query返回一个lambda。还有另一种方法可以将选项添加到此 bool(boolean) 查询吗?

最佳答案

弄清楚了-到目前为止,tyre仅在您第一次调用 bool(boolean) 值时向 bool(boolean) 值请求添加选项。在上面列出的查询之前,我还有很多其他的 bool(boolean) 查询,因此我的选择被丢入以太坊了。

关于ruby-on-rails - 使用另存为 block 的查询时如何创建具有minimum_number_should_match的 bool 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9847210/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com