elasticsearch 等价于弹性搜索中的布尔或
我目前搜索我的数据,查找一个术语的精确匹配项,如下所示:
elasticsearch 等价于弹性搜索中的布尔或,
elasticsearch,
elasticsearch,我目前搜索我的数据,查找一个术语的精确匹配项,如下所示: { "query": { "bool": { "must": [ { "term": { "term_a": "xxxxx" } } ] } } } 但是,我希望能够搜索多个术语,并获得至少匹配一个术语的所有文档。因此,在SQL语言中,术语a='xxxxx'或术语b='yyyyy'。我怎样才能做
{
"query": {
"bool": {
"must": [
{
"term": {
"term_a": "xxxxx"
}
}
]
}
}
}
但是,我希望能够搜索多个术语,并获得至少匹配一个术语的所有文档。因此,在SQL语言中,术语a='xxxxx'或术语b='yyyyy'。我怎样才能做到这一点?然后您可以对每个
术语使用bool
和should
语句:
"bool": {
"should": [
{
"term": {
"term_a": "xxxxx"
}
},
{
"term": {
"term_b": "yyyyy"
}
}
]
}
如果要在同一字段中搜索多个术语,则可以使用。然后可以对每个术语使用bool
和should
语句
:
"bool": {
"should": [
{
"term": {
"term_a": "xxxxx"
}
},
{
"term": {
"term_b": "yyyyy"
}
}
]
}
如果您想在同一字段中搜索多个术语,那么您可以使用。谢谢,这就成功了!如果你不介意的话,如果我有一些额外的条款,这些条款总是必须存在呢?也就是说,(术语a='xxxxx'或术语b='yyyyy')和术语c='zzzzz'和术语d='wwwwww'
?你把它们放在必须的语句中。谢谢,这就成功了!如果你不介意的话,如果我有一些额外的条款,这些条款总是必须存在呢?也就是说,(术语a='xxxxx'或术语b='yyyyy')和术语c='zzzzz'和术语d='wwwww'
?你把它们放在必须的语句中。