elasticsearch version: 7.10.1
match_phrase 语法
POST <index>/_search
{"query": {"match_phrase": {"<field_name>": {"query": "<your_search_phrase>","slop": <max_distance>,"analyzer": "<analyzer_name>" (optional)}}}
}
- <your_search_phrase>: 要搜索的确切短语
- 可选参数,表示短语中词语的最大允许间隔数,默认值为0(即词语必须相邻)。
例题
场景
索引创建
PUT /product-reviews
{"mappings": {"properties": {"review": {"type": "text","analyzer": "standard"}}}
}
文档插入
POST /product-reviews/_doc/
{"review": "This product is really easy to use and very efficient, I highly recommend it."
}
POST /product-reviews/_doc/
{"review": "This product is easy to use, efficient and has a great design."
}POST /product-reviews/_doc/
{"review": "It's not just easy to use but also very energy-efficient, making it a top choice."
}POST /product-reviews/_doc/
{"review": "Easy-to-use products are always my favorite, this one is highly efficient as well."
}POST /product-reviews/_doc/
{"review": "I was surprised by how user-friendly and efficient this product turned out to be."
}POST /product-reviews/_doc/
{"review": "The usability and efficiency of this product exceeded all my expectations."
}
查询语句
POST /product-reviews/_search
{"query": {"match_phrase": {"review": {"query": "easy to use efficient","slop": 1}}}
}