Exemplo n.º 1
0
 function reindex()
 {
     try {
         echo Indexer::reindex($_POST['page']);
     } catch (\Exception $ex) {
         header("HTTP/1.0 500 Internal Server Error");
         echo $ex->getMessage();
     }
     die;
 }
<?php

namespace elasticsearch;

add_action('wp_ajax_esreindex', function () {
    try {
        echo Indexer::reindex($_POST['page']);
    } catch (\Exception $ex) {
        header("HTTP/1.0 500 Internal Server Error");
        echo $ex->getMessage();
    }
    die;
});
add_action('admin_head-toplevel_page_elastic_search', function () {
    wp_enqueue_script('es-indexing', plugins_url('/manage-index.js', __FILE__), array('jquery'));
    wp_localize_script('es-indexing', 'indexing', array('ajaxurl' => admin_url('admin-ajax.php'), 'total' => Indexer::get_count(), 'perpage' => Indexer::per_page()));
});
add_filter('nhp-opts-saved-text-elasticsearch', function ($default) {
    if (get_transient('es-wiped') == 1) {
        return '<strong>The index has been wiped.</strong>';
        delete_transient('es-wiped');
    }
    if (get_transient('es-indexed') == 1) {
        return '<strong>The index has been populated.</strong>';
        delete_transient('es-indexed');
    }
    return $default;
});
add_action('nhp-opts-options-validate-elasticsearch', function () {
    if (isset($_POST['wipe']) && $_POST['wipe']) {
        try {
 public function testMapDate()
 {
     update_option('fields', array('post_date' => 1));
     register_post_type('post');
     wp_insert_post(array('post_type' => 'post', 'post_date' => '07/30/1989 00:00:00 CST'));
     wp_insert_post(array('post_type' => 'post', 'post_date' => '10/30/1988 00:00:00 CST'));
     Indexer::_map();
     Indexer::reindex();
     $this->index->refresh();
     $search = new \Elastica\Search($this->index->getClient());
     $search->addIndex($this->index);
     $results = $search->search(new \Elastica\Query(array('sort' => array('post_date' => array('order' => 'asc')))))->getResults();
     $this->assertCount(2, $results);
     $this->assertEquals(2, $results[0]->getId());
     $this->assertEquals(1, $results[1]->getId());
     $results = $search->search(new \Elastica\Query(array('sort' => array('post_date' => array('order' => 'desc')))))->getResults();
     $this->assertCount(2, $results);
     $this->assertEquals(1, $results[0]->getId());
     $this->assertEquals(2, $results[1]->getId());
 }