gpt4 book ai didi

ruby - 使用 ruby​​ elasticsearch gem,如何使用多个参数进行查询

转载 作者:数据小太阳 更新时间:2023-10-29 08:45:10 25 4
gpt4 key购买 nike

我基本上想做一个搜索:

select all from index_name where tag = 'big data' and city = 'tokyo'

代码是:

require "elasticsearch"
client = Elasticsearch::Client.new log: true
client.search index: 'candidates', body:
{
query: {

match: {
tags: search_term
}
}
}

效果很好。但是,当我更改为:

match: {
tags: search_term, city: 'Tokyo'
}

也就是说只是添加另一个参数我得到一个错误。

我试过添加

filter: {
city: 'Tokyo'
}

同样没有成功。

谢谢大家,这里最好的方法是什么?

最佳答案

您需要检查 Elasticsearch query DSL .对于简单的“A 和 B”查询,您只需使用 bool / must query .用这个替换你的 body :

client.search index: 'candidates', body:
{
query: {
bool: {
must: [
{
match: {
tags: 'big data'
}
},
{
match: {
city: 'tokyo'
}
}
]
}
}
}

关于ruby - 使用 ruby​​ elasticsearch gem,如何使用多个参数进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30678135/

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