我在elastichSearch
上。我正在尝试完全匹配和操作。我试了很多方法,但一直以来,我的反应都很糟糕。这就像模糊的匹配。我需要与RDBMS
完全匹配
SELECT * FROM IP="1.1.1.1" AND NAME="ETH1/10"
提前谢谢。
如果您需要完全匹配而不是match
查询,请使用术语查询
添加工作示例
索引映射
{
"mappings": {
"properties": {
"name": {
"type": "keyword"
},
"ip" :{
"type" : "ip"
}
}
}
}
索引样本文档
{
"name" : "ETH1/10",
"ip" : "1.1.1.1"
}
和搜索查询
{
"query": {
"bool": {
"filter": [ --> use `filter` as pointed by @Val in the comment.
{
"term": {
"ip": "1.1.1.1"
}
},
{
"term": { --> `term` query for exact match.
"name": "ETH1/10"
}
}
]
}
}
}
和搜索结果
"hits": [
{
"_index": "65167713",
"_type": "_doc",
"_id": "1",
"_score": 0.0,
"_source": {
"name": "ETH1/10",
"ip": "1.1.1.1"
}
}
]
这个怎么样?
{
"query":{
"bool":{
"must":[
{
"match":{
"IP":"1.1.1.1"
}
},
{
"match":{
"NAME":"ETH1/10"
}
}
]
}
}
}
}