【发布时间】:2019-12-24 19:30:56
【问题描述】:
我对字段值的完全匹配查询有疑问。 title 和 gender - 索引文档的字段
query: {
query_string: {
query: "box AND gender:\"women\"",
default_field: "title"
}
}
我使用双引号来匹配 gender 的完整查询。但是如果有 gender "men,women" 和 title 'box' 它也会出现在结果中。我知道,elasticsearch 不支持正则表达式字符 ^ 和 $ 作为字符串的开头和结尾,所以我无法制作 /^women$/。
如果我想要只匹配“女性”性别而非“男性、女性”的文档,我需要做什么?
【问题讨论】:
-
你能分享你的映射和最小的文档来重现你的用例吗?另外,您需要使用 query_string 吗?你愿意接受布尔查询吗?
-
我会在一段时间内尝试分享信息。我试过bool->must too,bur 结果是一样的。
标签: elasticsearch pattern-matching full-text-search