一、and关键字:
搜索结果精准控制的第一步,灵活使用and关键字,如果希望所有的搜索关键字都匹配,就可以使用and,实现单纯match query无法实现的效果。
GET /forum/article/_search
{
"query": {
"match": {
"title": {
"query": "java elasticsearch",
"operator": "and"
}
}
}
}
二、minimum_should_match
指定关键字,必须至少匹配其中的多少个关键字结果返回。
GET /forum/article/_search
{
"query": {
"match": {
"title": {
"query": "java elasticsearch spark hadoop",
"minimum_should_match": "75%"
}
}
}
}
//搜索java,hadoop,spark,elasticsearch,至少包含其中3个关键字:
GET /forum/article/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"title": "java"}},
{
"match": {
"title": "elasticsearch"}},
{
"match": {
"title": "hadoop"}},
{
"match": {
"title": "spark"}}
],