apply_filters( 'relevanssi_indexing_values', array $values, object $post )
Filters the INSERT
query VALUES
sections before the queries are run.
Parameters
$values
(array) An array of rows to insert into the database.
$post
(object) The post object (usually a WP_Post object) that is being indexed.
More information
When Relevanssi indexes a post, the post content is manipulated in many ways and finally tokenized. These tokens and their occurrance counts are converted into an array of data that is passed through relevanssi_indexing_data
and then Relevanssi generates the rows that are inserted into the database. These rows go through this filter hook.
This is how the rows are generated:
$value = $wpdb->prepare( '(%d, %s, REVERSE(%s), %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %s, %s, %s, %d)', $post->ID, $term, $term, $content, $title, $comment, $tag, $link, $author, $category, $excerpt, $taxonomy, $customfield, $type, $taxonomy_detail, $customfield_detail, $mysqlcolumn );
These rows are collected into an array and then inserted into the database with this:
INSERT IGNORE INTO wp_relevanssi (doc, term, term_reverse, content, title, comment, tag, link, author, category, excerpt, taxonomy, customfield, type, taxonomy_detail, customfield_detail, mysqlcolumn) VALUES $values
This is thus the final step where you can filter the post content before it is indexed. In practise, using this filter hook is hardly necessary. Usually it’s better to do any modifications earlier. If you want to manipulate this data, use relevanssi_indexing_data
, but more often you’ll want to use relevanssi_post_content
to manipulate the post content rather than these tokens.