- phrase match:短语匹配,将多个term作为一个短语,一起去搜索,只有包含这个短语的doc才会作为结果返回。
- proximity match:近似匹配
1、java spark,就靠在一起,中间不能插入任何其他字符,就要搜索出来这种doc,使用短语匹配
2、java spark,但是要求,java和spark两个单词靠的越近,doc的分数越高,排名越靠前,使用近似匹配
GET /forum/article/_search
{
"query": {
"match": {
"content": "java spark"
}
}
}
单单包含java的doc也返回了,不是我们想要的结果
POST /forum/article/5/_update
{
"doc": {
"content": "spark is best big data solution based on scala ,an programming language similar to java spark"
}
}
将一个doc的content设置为恰巧包含java spark这个短语
match_phrase语法:
GET /forum/article/_search
{
"query": {
"match_phrase": {
"content": "java spark"
}
}
}
这里引入term position的概念,标识一个term在do