code: def test_non_searchable_fields_cannot_be_used_for_search(
      engine: GenericElasticEngineBackend, dataset_id: str
  ):
      engine.create_dataset(
          id=dataset_id,
          task=TaskType.text_classification,
          metadata_values={
              "a": "value",
              "_protected": "is non searchable",
              "non_protected": "normal field",
          },
          force_recreate=True,
      )
      documents = [
          {
              "id": f"{i:03d}",
              "text": "This is my text",
              "metadata": {
                  "_protected": "value",
                  "non_protected": "value",
              },
          }
          for i in range(0, 100)
      ]
  
      assert (
          engine.add_dataset_records(dataset_id, documents=documents)
          == 0
      )
  
      total, _ = engine.search_records(
          id=dataset_id,
          query=BaseRecordsQuery(
              query_text="metadata.non_protected:value"
          ),
      )
      assert total == 100
  
      total, _ = engine.search_records(
          id=dataset_id,
          query=BaseRecordsQuery(
              query_text="metadata._protected:value"
          ),
      )
      assert total == 0
  
file_path: argilla/tests/unit/server/daos/backend/test_generic_elastic_engine.py
imports: import uuid
  import pytest
  from argilla.server.commons.models import TaskType
  from argilla.server.daos.backend import GenericElasticEngineBackend
  from argilla.server.daos.backend.search.model import BaseRecordsQuery
  from argilla.server.errors import InvalidTextSearchError
label_desc: Use image node_id 6 for calling a global function with example usage: test_non_searchable_fields_cannot_be_used_for_search(engine, dataset_id) without return types