我想在一个 message
字段中完全匹配字符串 ":Feed:"
并返回一天拉所有这些记录 . 我有的json似乎也匹配普通单词 " feed "
. 我不确定我哪里出错了 . 我是否需要将 "constant_score"
添加到此查询JSON中?我目前的JSON如下所示:
{
"query": {
"bool": {
"must": {
"query_string": {
"fields": ["message"],
"query": "\\:Feed\\:"
}
},
"must": {
"range": {
"timestamp": {
"gte": "now-1d",
"lte": "now"
}
}
}
}
}
}
1 回答
如上所述:Finding Exact Values,因为在索引时已对字段进行了分析 - 您无法精确匹配其标记(":") . 每当标记应该可搜索时,映射应该是"not_analyzed"并且数据需要重新编制索引 .
如果您希望能够在消息字段中轻松匹配“:feed:”,则可能需要对未标记“:”的分析器进行成本化,以便您可以使用简单的“匹配”查询来查询字段而不是野生人物 .