class_docstr: Since both ElasticSearch and OpenSearch engines implementations share a lot of code,
  this class create an abstraction for the commons part of the code, letting each child
  resolve their own implementation details.
  
  All method for SearchEngine interface are implemented here. This abstract class defines
  some abstract method mostly for:
      1. Requesting data from the engine, since the client signatures may differ
      2. Prepare mappings for vector-related configuration (once is included)
      3. Searching records based on similarity search
  
  The rest of the code will be shared by both implementation
class_docstr_tok: ["Since","both","ElasticSearch","and","OpenSearch","engines","implementations","share","a","lot","of","code",",","this","class","create","an","abstraction","for","the","commons","part","of","the","code",",","letting","each","child","resolve","their","own","implementation","details",".","All","method","for","SearchEngine","interface","are","implemented","here",".","This","abstract","class","defines","some","abstract","method","mostly","for",":","1",".","Requesting","data","from","the","engine",",","since","the","client","signatures","may","differ","2",".","Prepare","mappings","for","vector-related","configuration","(","once","is","included",")","3",".","Searching","records","based","on","similarity","search","The","rest","of","the","code","will","be","shared","by","both","implementation"]
code: def _inverse_vector(self, vector_value: List[float]) -> List[float]:
      return [vector_value[i] * -1 for i in range(0, len(vector_value))]
  
imports: import dataclasses
  from abc import abstractmethod
  from typing import Any, Dict, Iterable, List, Optional, Union
  from uuid import UUID
  from argilla.server.enums import FieldType, MetadataPropertyType, RecordSortField, ResponseStatusFilter, SimilarityOrder
  from argilla.server.models import Dataset, Field, MetadataProperty, Question, QuestionType, Record, Response, ResponseStatus, Suggestion, Vector, VectorSettings
  from argilla.server.search_engine.base import AndFilter, Filter, FilterScope, FloatMetadataFilter, FloatMetadataMetrics, IntegerMetadataFilter, IntegerMetadataMetrics, MetadataFilter, MetadataFilterScope, MetadataMetrics, Order, RangeFilter, RecordFilterScope, ResponseFilterScope, SearchEngine, SearchResponseItem, SearchResponses, SortBy, SuggestionFilterScope, TermsFilter, TermsMetadataFilter, TermsMetadataMetrics, TextQuery, UserResponseStatusFilter
label_desc: Use image node_id 5 for calling the BaseElasticAndOpenSearchEngine obj's underlying member method code with example usage: obj._inverse_vector(vector_value) and returns: unknown