我想在文档中搜索“社交网络营销”。全部一起。但我继续得到单词分开的结果。我有以下 DSL 查询:
{
"fields": ["title"],
"query": {
"bool": {
"should": [{
"match": {
"title": "SEO"
}
}],
"must": [{
"match": {
"content": {
"query": "Marketing in social networks",
"operator": "and"
}
}
}]
}
}
}
我没有包含此短语和标题的文档,但我也得到了结果(文档),其中包含要搜索的短语的单词。我要严格搜查。如果没有任何文档包含此短语,则不检索任何文档或仅检索具有该标题的文档。
为什么运算符和不起作用?
您可以像下面一样尝试使用键入短语吗?看here https://www.elastic.co/guide/en/elasticsearch/guide/current/phrase-matching.html它说,
查询首先分析查询字符串以生成术语列表。它
然后搜索所有术语,但仅保留包含以下内容的文档
所有搜索词,相对于彼此处于相同的位置
{
"fields": ["title"],
"query": {
"bool": {
"should": [{
"match": {
"title": "SEO"
}
}],
"must": [{
"match": {
"content": {
"query": "Marketing in social networks",
"type": "phrase"
}
}
}]
}
}
}
PS:我还没试过。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)