WordPress Search return wrong results

The reason for this is that WordPress searches for matches using LIKE %post%, meaning that any post (that is Post, Page or custom post type object) that contains post in it’s title or content is found.

You can alter this default behaviour by using the posts_where action hook.

add_action( 'posts_where', 'my_alter_search_where' );
function my_alter_search_where( $where ){

    global $wpdb;

    if (is_search()) :

        $where.= " AND $wpdb->posts.post_content NOT LIKE '%poster=%'";

    endif;

}

The only caviat here is that if your post content contains both %post and %poster="% as two seperate occurances, it will not be included. There are ways around this, but I’d need to know more about your query, so if this answere is acceptable I’d suggest posting that as a seperate question.