Closed lqiiiang911 closed 4 years ago
text类型是需要分词吗,可以用 select * from tttable where authors~="杜甫"
需要分词,我尝试了一下authors~="杜XXXX甫"这种情况,看了下转换成DSL后的语句是没有.keyword的,查询不到结果,在DSL上加上.keyword就可以查询到,有什么办法能解决么?
你这个索引的mapping是自动生成的吧,你可以查看一下这个索引的mapping,authors字段的类型是text,authors下面还有个子fields,是authors.keyword,这个是keyword
类型的,
你如果要查authors.keyword不分词的话,需要用
select * from tttable where authors.keyword="杜甫"
查询authors分词的话,用
select * from tttable where authors~="杜甫"
keyword类型的字段是不能分词的,所以你要分词没法用authors.keyword
可以了,多谢!
请问,sql语句支持这种keyword查询么?其中authors的类型是text,支持的话应该怎么写sql? { "query": { "term": { "authors.keyword": "杜甫" } }