multi_match与match_phrase的区别
fengweiqiang opened this issue · 6 comments
fengweiqiang commented
https://elasticsearch.cn/question/5524
你好,如果想要使用multi_match,sql应该使用什么符号进行查询?
cch123 commented
fengweiqiang commented
嗯,谢谢,还有就是查询字段null/not null 没实现,是因为版本不兼容吗?
cch123 commented
@fengweiqiang ,我们当时没这个需求,因为 es 里的数据都是从 mysql 来的,而 mysql 的规范都会要求字段不为 null
fengweiqiang commented
嗯嗯,非常感想你的讲解
cch123 commented
@fengweiqiang ,在这个分支上已经支持了,你那边测测吧,要是没问题,我合 master:
https://github.com/cch123/elasticsql/tree/feature_multi_match
package main
import (
"fmt"
"github.com/cch123/elasticsql"
)
var sql = `
select * from aaa
where a=1 and x = '三个男人'
and multi_match(query='this is a test', fields=(title,title.origin))
`
//and multi_match(query='this is a test', fields=(title,title.origin), type=phrase)
func main() {
dsl, esType, err := elasticsql.Convert(sql)
fmt.Println(dsl)
fmt.Println(esType)
fmt.Println(err)
}
可以提供 query、fields 或者 query、fields 和 type