[docs]@singledispatchdefbuild_index(param:Parameters,x:numpy.ndarray,**kwargs)->Index:""" Build a search index for a given nearest neighbor search algorithm. The default method calls :py:func:`~knncolle.define_builder.define_builder` to obtain an algorithm-specific factory that builds the index from ``x``. Args: param: Parameters for a particular search algorithm. x: Matrix of coordinates for the observations to be searched. This should be a two-dimensional double-precision NumPy array in Fortran order where the rows are dimensions and columns are observations. kwargs: Additional arguments to be passed to individual methods. Returns: Instance of a :py:class:`~knncolle.classes.Index` subclass. """builder,cls=define_builder(param)prebuilt=lib.generic_build(builder.ptr,x)returncls(prebuilt)