You are here

private function ElasticsearchViewsFulltextSearch::getFulltextFields in Elasticsearch Connector 8.2

Same name and namespace in other branches
  1. 8.7 modules/elasticsearch_connector_views/src/Plugin/views/filter/ElasticsearchViewsFulltextSearch.php \Drupal\elasticsearch_connector_views\Plugin\views\filter\ElasticsearchViewsFulltextSearch::getFulltextFields()
  2. 8.5 modules/elasticsearch_connector_views/src/Plugin/views/filter/ElasticsearchViewsFulltextSearch.php \Drupal\elasticsearch_connector_views\Plugin\views\filter\ElasticsearchViewsFulltextSearch::getFulltextFields()
  3. 8.6 modules/elasticsearch_connector_views/src/Plugin/views/filter/ElasticsearchViewsFulltextSearch.php \Drupal\elasticsearch_connector_views\Plugin\views\filter\ElasticsearchViewsFulltextSearch::getFulltextFields()

Choose fulltext fields from ElasticSearch mapping if they are type string and are analyzed (there is no index => not_analyzed in the mapping)

Return value

array fields

2 calls to ElasticsearchViewsFulltextSearch::getFulltextFields()
ElasticsearchViewsFulltextSearch::buildOptionsForm in modules/elasticsearch_connector_views/src/Plugin/views/filter/ElasticsearchViewsFulltextSearch.php
Provide the basic form which calls through to subforms. If overridden, it is best to call through to the parent, or to at least make sure all of the functions in this form are called.
ElasticsearchViewsFulltextSearch::query in modules/elasticsearch_connector_views/src/Plugin/views/filter/ElasticsearchViewsFulltextSearch.php
Add this filter to the query.

File

modules/elasticsearch_connector_views/src/Plugin/views/filter/ElasticsearchViewsFulltextSearch.php, line 59

Class

ElasticsearchViewsFulltextSearch
Default implementation of the base filter plugin.

Namespace

Drupal\elasticsearch_connector_views\Plugin\views\filter

Code

private function getFulltextFields() {

  //    $view_id = $this->view->storage->get('base_table');
  //    $data = Views::viewsData()->get($view_id);
  //
  //    var_dump($data);exit;
  //
  //    $index = $data['table']['base']['index'];
  //    $type = implode(',', $data['table']['base']['type']);
  //
  //    $client = $this->view->query->getElasticsearchClient();
  //
  //    $params = array(
  //      'index' => $index,
  //      'type' => $type,
  //    );
  //
  //    $mapping = $client->indices()->getMapping($params);
  //
  //    $fulltext_fields = array_keys(array_filter($mapping[$index]['mappings'][$type]['properties'], function($v) {
  //      return $v['type'] == 'string' && (!isset($v['index']) || $v['index'] != 'not_analyzed');
  //    }));
  //
  //    return array_combine($fulltext_fields, $fulltext_fields);
}