我有简单的映射:
PUT testing_ind
{
"mappings": {
"_doc": {
"properties": {
"a": { "type": "text" , "index": true }
}
}
}
}
和配置:
POST testing_ind/_doc
{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 2
}
}
然后放数据:
PUT testing_index/_doc/1
{ "a": "123 asd"}
PUT testing_index/_doc/2
{ "a": "asd 123"}
PUT testing_index/_doc/3
{ "a": "asd"}
PUT testing_index/_doc/4
{ "a": "123"}
问题: 为什么我进行比赛时会有相同的结果?
GET testing_ind/_doc/_search
{
"query": {
"term": {
"a" : "123"
}
}
}
OR
GET testing_ind/_doc/_search
{
"query" : {
"constant_score" : {
"filter" : {
"term" : {
"a" : "123"
}
}
}
}
}
如果我有条款或匹配,结果是相同的。我只是对为什么感兴趣?我也尝试过过滤器,但还是一样。因此,如果结果相同,我不理解匹配查询和术语查询之间的区别。