0
votes

Currently I am Working on Elastic Search, I need unique records, and my mySql Query is select practice_area_name from practiceareas

And also I tried Below through some elastic references, and my code is

"query" => array(
                "filtered" => array(
                    "query" => array("match_all" => array())
                )
            ),
            "aggs" => array(
                "practiceareas" => array(
                    "terms" => array(
                        "field" => "practice_area_name",
                        "size" => 0
                    )
                )
            )

Here practiceareas are type in my elastic index and practice_area_name is field. I Got Same Result, like below

"practice_areas":[{"practice_area_id" :"237","practice_area_name":"Anemia","vendors_count":"26","practice_area_Count":1},{"practice_area_id" :"237","practice_area_name":"Anemia","vendors_count":"26","practice_area_Count":1},{"practice_area_id" :"237","practice_area_name":"Anemia","vendors_count":"26","practice_area_Count":1}]

Duplicate results are coming.

1
Is it a typo? Should "filed" be "field"?Benjamin Schüller
sorry.. it is field onlykishan kurivella
Please share your mapping of the index.Hatim Stovewala

1 Answers

1
votes

You can get records count

by name wise

GET practice_areas/area/_search { "size": 0, "aggs" : { "Name" : { "terms" : { "field" : "practice_area_name.keyword" } } } }

see this