0

我的最终目标是使用 Elasticsearch 索引构建分面搜索页面。我正在关注本教程

为什么此聚合查询不适用于我的数据?我想我需要更改我的聚合子句,使其引用关键字而不是字段,但不知道语法。

这是我的数据。我的意思是对以下 Postman 命令的响应:

GET https://<elastic username>:<elastic password>@<elastic url>:<port number>/<my index name>/_search 

这是回应:

{
    "took": 3,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 11,
            "relation": "eq"
        },
        "max_score": 1.0,
        "hits": [
            {
                "_index": "contacts_6_vglz9gvldv",
                "_type": "_doc",
                "_id": "URYmrHABQ6Znr4-To-Ma",
                "_score": 1.0,
                "_source": {}
            },
            {
                "_index": "contacts_6_vglz9gvldv",
                "_type": "_doc",
                "_id": "2093",
                "_score": 1.0,
                "_source": {
                    "list_id": "6",
                    "contact_id": "2093",
                    "firstname": "DANIEL",
                    "middlename": "C",
                    "lastname": "BRYANT",
                    "suffix": "null",
                    "mobile_phone": "null",
                    "email": "",
                    "email2": "null",
                    "tags": "null",
                    "notes": "null",
                    "home_address1": "602  STONE CIRCLE CT APT 2",
                    "home_address2": "null",
                    "home_city": "SCHAUMBURG",
                    "home_state": "IL",
                    "home_zip": "60194",
                    "home_phone": "",
                    "county": "null",
                    "latitude": "42.030346",
                    "longitude": "-88.06422",
                    "location_point": "0101000020E6100000F2EF332E1C0456C03FC8B260E2034540",
                    "work_company": "null",
                    "work_occupation": "null",
                    "work_address1": "null",
                    "work_address2": "null",
                    "work_city": "null",
                    "work_state": "null",
                    "work_zip": "null",
                    "work_phone": "null",
                    "volun_walk": "null",
                    "volun_phone": "null",
                    "volun_yardsign": "null",
                    "volun_petition": "null",
                    "date_of_birth": "10/26/1991",
                    "sex": "M",
                    "race": "null",
                    "ethnicity": "null",
                    "religion": "null",
                    "married": "null",
                    "has_children": "null",
                    "dist_congress": "null",
                    "dist_state_house": "null",
                    "dist_state_senate": "null",
                    "dist_ward_township": "null",
                    "dist_precinct": "null",
                    "dist_library": "null",
                    "dist_county": "null",
                    "dist_judicial": "null",
                    "dist_school": "null",
                    "dist_fire": "null",
                    "dma": "null",
                    "linkedin": "null",
                    "facebook": "null",
                    "twitter": "null",
                    "instagram": "null",
                    "registered_party": "0",
                    "v2018_gen": "null",
                    "v2018_pri": "null",
                    "salutation": "null",
                    "honorific": "null",
                    "spouse": "null",
                    "assistant": "null",
                    "rnc_id": "null",
                    "state_voter_id": "null",
                    "i360_id": "null",
                    "household_id": "null",
                    "home_phone_reliability": "null",
                    "work_phone_reliability": "null",
                    "mobile_phone_reliability": "null",
                    "deceased": "null",
                    "has_moved": "null",
                    "created": "2019-11-13 21:24:55.825672",
                    "modified": "null",
                    "imported": "2019-11-13 15:24:51.006805",
                    "source": "null",
                    "custom": "null",
                    "fulltext": "'2':8 '60194':10 '602':3 'apt':7 'bryant':2 'circle':5 'ct':6 'daniel':1 'schaumburg':9 'stone':4",
                    "home_house_num": "602",
                    "home_predirection": "null",
                    "home_street_name": "STONE CIRCLE",
                    "home_street_type": "CT",
                    "home_postdirection": "null",
                    "home_unit_num": "APT 2",
                    "home_ruralroute": "null",
                    "registration_date": "null",
                    "registration_status": "null",
                    "web": "null",
                    "fake_col": "0.414"
                }
            },
            {
                "_index": "contacts_6_vglz9gvldv",
                "_type": "_doc",
                "_id": "2094",
                "_score": 1.0,
                "_source": {
                    "list_id": "6",
                    "contact_id": "2094",
                    "firstname": "Thomas",
                    "middlename": "Y",
                    "lastname": "Gehr",
                    "suffix": "null",
                    "mobile_phone": "null",
                    "email": "",
                    "email2": "null",
                    "tags": "null",
                    "notes": "null",
                    "home_address1": "174  Hemingway CT",
                    "home_address2": "null",
                    "home_city": "Vernon Hills",
                    "home_state": "IL",
                    "home_zip": "60061",
                    "home_phone": "",
                    "county": "null",
                    "latitude": "42.250633",
                    "longitude": "-87.95999",
                    "location_point": "0101000020E61000002C9FE57970FD55C03126FDBD14204540",
                    "work_company": "null",
                    "work_occupation": "null",
                    "work_address1": "null",
                    "work_address2": "null",
                    "work_city": "null",
                    "work_state": "null",
                    "work_zip": "null",
                    "work_phone": "null",
                    "volun_walk": "null",
                    "volun_phone": "null",
                    "volun_yardsign": "null",
                    "volun_petition": "null",
                    "date_of_birth": "11/23/1953",
                    "sex": "M",
                    "race": "null",
                    "ethnicity": "null",
                    "religion": "null",
                    "married": "null",
                    "has_children": "null",
                    "dist_congress": "null",
                    "dist_state_house": "null",
                    "dist_state_senate": "null",
                    "dist_ward_township": "null",
                    "dist_precinct": "null",
                    "dist_library": "null",
                    "dist_county": "null",
                    "dist_judicial": "null",
                    "dist_school": "null",
                    "dist_fire": "null",
                    "dma": "null",
                    "linkedin": "null",
                    "facebook": "null",
                    "twitter": "null",
                    "instagram": "null",
                    "registered_party": "1",
                    "v2018_gen": "null",
                    "v2018_pri": "null",
                    "salutation": "null",
                    "honorific": "null",
                    "spouse": "null",
                    "assistant": "null",
                    "rnc_id": "null",
                    "state_voter_id": "null",
                    "i360_id": "null",
                    "household_id": "null",
                    "home_phone_reliability": "null",
                    "work_phone_reliability": "null",
                    "mobile_phone_reliability": "null",
                    "deceased": "null",
                    "has_moved": "null",
                    "created": "2019-11-13 21:24:55.826028",
                    "modified": "null",
                    "imported": "2019-11-13 15:24:51.006805",
                    "source": "null",
                    "custom": "null",
                    "fulltext": "'174':3 '60061':8 'ct':5 'gehr':2 'hemingway':4 'hills':7 'thomas':1 'vernon':6",
                    "home_house_num": "174",
                    "home_predirection": "null",
                    "home_street_name": "HEMINGWAY",
                    "home_street_type": "CT",
                    "home_postdirection": "null",
                    "home_unit_num": "null",
                    "home_ruralroute": "null",
                    "registration_date": "null",
                    "registration_status": "null",
                    "web": "null",
                    "fake_col": "0.441"
                }
            },
            {
                "_index": "contacts_6_vglz9gvldv",
                "_type": "_doc",
                "_id": "2095",
                "_score": 1.0,
                "_source": {
                    "list_id": "6",
                    "contact_id": "2095",
                    "firstname": "EDYTA",
                    "middlename": "",
                    "lastname": "DZIADKOWIEC",
                    "suffix": "null",
                    "mobile_phone": "null",
                    "email": "",
                    "email2": "null",
                    "tags": "null",
                    "notes": "null",
                    "home_address1": "1005  TANGLEWOOD DR",
                    "home_address2": "null",
                    "home_city": "ALGONQUIN",
                    "home_state": "IL",
                    "home_zip": "60102",
                    "home_phone": "",
                    "county": "null",
                    "latitude": "42.1652",
                    "longitude": "-88.27284",
                    "location_point": "0101000020E61000009A42E735761156C04CA60A4625154540",
                    "work_company": "null",
                    "work_occupation": "null",
                    "work_address1": "null",
                    "work_address2": "null",
                    "work_city": "null",
                    "work_state": "null",
                    "work_zip": "null",
                    "work_phone": "null",
                    "volun_walk": "null",
                    "volun_phone": "null",
                    "volun_yardsign": "null",
                    "volun_petition": "null",
                    "date_of_birth": "10/31/1974",
                    "sex": "F",
                    "race": "null",
                    "ethnicity": "null",
                    "religion": "null",
                    "married": "null",
                    "has_children": "null",
                    "dist_congress": "null",
                    "dist_state_house": "null",
                    "dist_state_senate": "null",
                    "dist_ward_township": "null",
                    "dist_precinct": "null",
                    "dist_library": "null",
                    "dist_county": "null",
                    "dist_judicial": "null",
                    "dist_school": "null",
                    "dist_fire": "null",
                    "dma": "null",
                    "linkedin": "null",
                    "facebook": "null",
                    "twitter": "null",
                    "instagram": "null",
                    "registered_party": "1",
                    "v2018_gen": "null",
                    "v2018_pri": "null",
                    "salutation": "null",
                    "honorific": "null",
                    "spouse": "null",
                    "assistant": "null",
                    "rnc_id": "null",
                    "state_voter_id": "null",
                    "i360_id": "null",
                    "household_id": "null",
                    "home_phone_reliability": "null",
                    "work_phone_reliability": "null",
                    "mobile_phone_reliability": "null",
                    "deceased": "null",
                    "has_moved": "null",
                    "created": "2019-11-13 21:24:55.82604",
                    "modified": "null",
                    "imported": "2019-11-13 15:24:51.006805",
                    "source": "null",
                    "custom": "null",
                    "fulltext": "'1005':3 '60102':7 'algonquin':6 'dr':5 'dziadkowiec':2 'edyta':1 'tanglewood':4",
                    "home_house_num": "1005",
                    "home_predirection": "null",
                    "home_street_name": "TANGLEWOOD",
                    "home_street_type": "DR",
                    "home_postdirection": "null",
                    "home_unit_num": "null",
                    "home_ruralroute": "null",
                    "registration_date": "null",
                    "registration_status": "null",
                    "web": "null",
                    "fake_col": "0.257"
                }
            }
        ]
    }
}

这是我的查询:

GET https://<elastic username>:<elastic password>@<elastic url>:<port number>/<my index name>/_search 

{
  "query": {
    "bool": {
        "should" : [
          {
           "match": {
             "firstname": "Thomas"
           }
         },
         {
           "match": {
             "lastname": "Bryant"
           }
         }
       ]
     }
   },
      "aggregations": {
      "home_state": {
         "terms": {"field": "home_state"}
      }
      }
}

这是错误:

{
    "error": {
        "root_cause": [
            {
                "type": "illegal_argument_exception",
                "reason": "Fielddata is disabled on text fields by default. Set fielddata=true on [home_state] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."
            }
        ],
        "type": "search_phase_execution_exception",
        "reason": "all shards failed",
        "phase": "query",
        "grouped": true,
        "failed_shards": [
            {
                "shard": 0,
                "index": "contacts_6_vglz9gvldv",
                "node": "pvhkxY1rT_qrL3Y-IvOoWw",
                "reason": {
                    "type": "illegal_argument_exception",
                    "reason": "Fielddata is disabled on text fields by default. Set fielddata=true on [home_state] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."
                }
            }
        ],
        "caused_by": {
            "type": "illegal_argument_exception",
            "reason": "Fielddata is disabled on text fields by default. Set fielddata=true on [home_state] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead.",
            "caused_by": {
                "type": "illegal_argument_exception",
                "reason": "Fielddata is disabled on text fields by default. Set fielddata=true on [home_state] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead."
            }
        }
    },
    "status": 400
}
4

1 回答 1

1

默认情况下禁用字段数据,因为它们消耗大量堆空间。

但是,您可以field_name.keyword用于聚合。在您的情况下,将您的查询更改为

{
  ...
   "aggregations": {
      "home_state": {
         "terms": {"field": "home_state.keyword"} <=== add '.keyword'
      }
      }
}
于 2020-03-05T22:44:53.923 回答