全文检索场景在实际项目中,无界搜索具体查询某一个字段对于客户来说是不确定的,但是实际数据中需要检索的字段非常多。
在使用elasticsearch时遇见了这样的需求:es聚合指定字段时聚合的结果里面只显示聚合的字段。但是在做报表时,我们发现一个问题:如果我们对员工进行聚合,但是我们还希望查看当前员工所在的班组,部门等信息。这时如果查询es两次,对于效率来说是不好的。
这样,我们在设计的时候就需要将更多的字段合并成一个字段,这样查询的时候,开发人员只需要查询指定的那个字段就可以了,中间实现过程很简单,但是更多的会涉及到性能优化和分词优化。使用的步骤:
1、创建mapping
-
PUT my_index
-
{
-
"mappings": {
-
"my_type": {
-
"properties": {
-
"first_name": {
-
"type": "keyword",
-
"copy_to": "full_name"
-
},
-
"last_name": {
-
"type": "keyword