Add custom operator for condition() in search_api I am trying to implement hook_search_api_multi_query_alter but it seems 'IN' operator does not work here. I have to check condition on array. Any pointers for start building custom operator.

function my_module_search_api_multi_query_alter(SearchApiMultiQueryInterface $query) {
$indexes = $query-&gt;getIndexes();
dpm($query-&gt;getFields());
if (isset($indexes['solr_content_index_dev'])) {
  $query-&gt;condition('solr_content_index_dev:nid', array(2918, 2367), 'IN');

}
}
Maybe this trick will help you. You can go upstream and implement hook_query_alter instead

function yourmodule_query_alter(&amp;$query) {
if ($query-&gt;hasTag('search_api_db_search')) {
        $is_search = FALSE;
        $tables=$query-&gt;getTables();
        //dpm($tables);
        //only run for the query that really matters to you. Try to find something unique in this
          foreach ($tables as $table) {
            if ($table['table'] == 'search_api_db_your_important_table'  ) {
              $is_search = TRUE;
            }
          }

          if ($is_search) {
            //use query functions normally eg.
            $query-&gt;innerJoin('search_api_db_your_table', 'custom_table', "custom_table.item_id = t.item_id");
          }   
  }
}