我想构建一个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"
}
]
}
下面是一个查询语法版本,我认为它将满足您的需求:
+(
(+title:holiday +(body:party body:food -body:holiday))
(+title:party +(body:holiday body:food -body:party)
(+title:food +(body:holiday body:party -body:food))
)
如果这不起作用,我认为它为你指明了正确的方向。这种查询的诀窍是显式枚举所有选择。
我想要找到一个文件的名称包含'Bob',并有一个位置在'paducah'或'smyrna'。 以下是我现在所拥有的: 我知道问题出在location数组上,因为如果我将它改为一个没有数组的元素,那么查询就可以正常工作。 这是我能找到的最接近的答案。 它没有工作,我收到以下错误: [term]查询格式错误,应为[END_OBJECT],但找到[FIELD_NAME]
问题内容: 将我的war文件部署到tomcat时出现错误: 我四处搜寻,发现log4j.xml的顺序可能是错误的,但应该是正确的。 有什么建议么? 问题答案: 根据错误消息,DTD期望所有元素都在该元素之前。您选择的方式错误。
我有一些xml文件,希望删除除特定字符串以外的所有内容。 StackOverflow上还有很多类似的问题,但都不适用于我的文件,在尝试了几个小时不同的正则表达式后,我想寻求帮助。 到目前为止,部分成功但并非完全成功的最接近的正则表达式是: xml文件的示例: 我使用regex101,因此可以将示例粘贴在那里,以了解为什么rex只能部分工作。简而言之,它与第一次出现的不匹配,但与第二次出现的匹配。我
所以我应该得到,但不是。两者都匹配的regex是:。是否可以不允许只使用大写字母而仍然提取第一个匹配?
我正在使用带有静态编程语言的android持久性库。 Dao看起来像这样 这对我来说似乎很好,但我得到了这个错误 错误:查询中的每个绑定变量必须有一个匹配的方法参数。找不到:countryId的方法参数 我可以看到参数被命名为,那么可能是什么问题呢? 仅供参考:这是CountryDao_I生成的代码mpl.java 在这种方法中,我看到arg0在方法中的任何地方都没有使用。 编辑:这似乎在新插件中
我正在使用android的房间数据库。在我最近更新到静态编程语言1.7.0之前,它一直运行良好。现在我得到以下错误: 这是我的刀: 这是我的身材 当我将Kotlin降级到1.6.21时,它运行良好。这是科特林病毒还是我做错了什么?