Adding intelligent search box to cesium for implementing search within layer from server side?

There is a default search box in cesium to search by address or by landmark. Now i want to add a intelligent search box to search within the layer. I would like to know how to add such search box and implement function to search within the layer.I have a geojson loaded in cesium which has an attribute called “name” and i want to allow the user to enter some names of the polygon in search box and fly to that corresponding polygon.I hope the names of my geojson can be retrieved and flyto the corresponding polygon as below

var dataSource2 = new Cesium.GeoJsonDataSource();
var promise = dataSource2.load('../../SampleData/Hubli_Buildings.geojson');
promise.then(function(dataSource2) {
viewer.dataSources.add(dataSource2);

    //Get the array of entities
    var entities2 = dataSource2.entities.values;
    for (var x=0; x<entities2.length; x++) {
        var name = entities2[x].properties.name;
        var name1 = ["Vivek Hostel"];
        if (jQuery.inArray(name, name1) > -1) {
            viewer.flyTo(entities2[x]);
        }
    }
   });

My question is how to add a intelligent search box in cesium and also the layer would be loaded in geoserver so it would be server side.