Search similar

Also, I agree the `conditional_row` and `to_sample` arguments makes for a nicer interface than forcing the user to provide samples.