elasticsearch 在elasticsearch中,包含span_和查询内span_之间有什么区别?
文件上说 span_包含: 大子句和小子句可以是任何跨度类型的查询。匹配跨距 从大到小包含匹配项的将被返回 span_在以下范围内: 大子句和小子句可以是任何跨度类型的查询。匹配跨距 从小到大,从大到小
elasticsearch 在elasticsearch中,包含span_和查询内span_之间有什么区别?,
elasticsearch,lucene,search-engine,querydsl,
elasticsearch,Lucene,Search Engine,Querydsl,文件上说 span_包含: 大子句和小子句可以是任何跨度类型的查询。匹配跨距 从大到小包含匹配项的将被返回 span_在以下范围内: 大子句和小子句可以是任何跨度类型的查询。匹配跨距 从小到大,从大到小 至于查询匹配了哪些文档,没有区别。不同之处在于匹配的跨度 span_包含大的匹配项 span_内的匹配很少 查询将从匹配的span中获得提升,因此span\u containing将从big中获得提升,而span\u in将从匹配的little中获得提升 如果您的span_in或span_c
至于查询匹配了哪些文档,没有区别。不同之处在于匹配的跨度
- span_包含大的匹配项
- span_内的匹配很少
例如,假设您有一些文本: Lorem ipsum dolor sit amet,是一位杰出的献身者 你的span_包含/包含前五个术语,几乎没有匹配的“ipsum”。如果你把它包裹在一个span_near中,那么这个外部span_near的斜率将从大的span_包含的边界,从小的(“ipsum”)的span_包含的边界 “amet”(big的结尾)和“Concertetur”之间的距离是≤1,因此这将与文本匹配:
“span_近”:{
“条款”:[
“span_包含”:{
“小”:{
“span_术语”:{“字段”:“ipsum”}
},
“大”:{
“span_近”:{
“条款”:[
{“span_术语”:{“字段”:“lorem”},
{“span_术语”:{“字段”:“amet”}
],
“slop”:5,
“按顺序”:正确
}
}
},
{“span_term”:{“field”:“concertetur”}
],
“slop”:1,
“按顺序”:正确
}
但是“ipsum”和“Concertetur”之间的距离大于1,因此这不会:
“span_近”:{
“条款”:[
“范围内”:{
“小”:{
“span_术语”:{“字段”:“ipsum”}
},
“大”:{
“span_近”:{
“条款”:[
{“span_术语”:{“字段”:“lorem”},
{“span_术语”:{“字段”:“amet”}
],
“slop”:5,
“按顺序”:正确
}
}
},
{“span_term”:{“field”:“concertetur”}
],
“slop”:1,
“按顺序”:正确
}