【发布时间】:2013-11-30 01:10:24
【问题描述】:
我想构建一个 ElasticSearch 查询,在其中查询多个字段,但查询中的一个词必须与其中一个字段匹配。
例如,假设我查询“holiday party food”,我希望它返回标题中至少包含 1 个术语的所有文档,其余在 html_source 中。
如果文档有:
title: Holiday, html_source: party food => MATCH
title: Party, html_source: food holiday => MATCH
title: Food, html_source: holiday party => MATCH
title: RANDOM TITLE, html_source: holiday party food => NO MATCH.
这是我到目前为止所构建的,它匹配在 html_source 中包含所有术语但不在标题中的文档,这不是我想要的。
{
"query":{
"query_string":{
"query":"holiday party food",
"default_operator":"AND",
"fields":[
"title","html_source"
]
}
},
"sort":[
{
"total_shares":"desc"
}
]
}
【问题讨论】:
-
你的分析仪是什么?
标签: lucene elasticsearch