可以说我有一个posts
索引,该索引包含论坛上每个用户发表的所有帖子的所有数据,我想搜索一个特定用户发表的包含videogame一词的帖子。
查询看起来像这样。
'query' : {
'body' : {
'should': {
'match': {
'posts.text': {
'query': 'videogame',
'fuzziness': 2,
}
}
},
'filter':{
'term' : {
'user_id': 3
}
}
}
}
现在我的映射已设置为将user_id映射为整数。通过将过滤器项改为关键字,是否可以提高查询性能?出于SQL的背景,我不能完全确定以哪种方式对SQL进行“索引”哪些字段类型,而且我也找不到关于它的很好的文档。
答案 0 :(得分:0)
搜索数据有两个主要部分。 1. ES如何编制索引文件,其次是查询的工作方式。 1. https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html 2. https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html
希望它能对您有所帮助。