code: def test_search_model_versions_by_tag(store):
      # create some model versions
      name = "test_for_search_MV_by_tag"
      store.create_registered_model(name)
      run_id_1 = uuid.uuid4().hex
      run_id_2 = uuid.uuid4().hex
  
      mv1 = _create_model_version(
          store,
          name=name,
          source="A/B",
          run_id=run_id_1,
          tags=[
              ModelVersionTag("t1", "abc"),
              ModelVersionTag("t2", "xyz"),
          ],
      )
      assert mv1.version == 1
      mv2 = _create_model_version(
          store,
          name=name,
          source="A/C",
          run_id=run_id_2,
          tags=[
              ModelVersionTag("t1", "abc"),
              ModelVersionTag("t2", "x123"),
          ],
      )
      assert mv2.version == 2
  
      def search_versions(filter_string):
          return [
              mvd.version
              for mvd in _search_model_versions(store, filter_string)
          ]
  
      assert search_versions(f"name = '{name}' and tag.t2 = 'xyz'") == [
          1
      ]
      assert (
          search_versions("name = 'wrong_name' and tag.t2 = 'xyz'")
          == []
      )
      assert search_versions("tag.`t2` = 'xyz'") == [1]
      assert search_versions("tag.t3 = 'xyz'") == []
      assert set(search_versions("tag.t2 != 'xy'")) == {2, 1}
      assert search_versions("tag.t2 LIKE 'xy%'") == [1]
      assert search_versions("tag.t2 LIKE 'xY%'") == []
      assert search_versions("tag.t2 ILIKE 'xY%'") == [1]
      assert set(search_versions("tag.t2 LIKE 'x%'")) == {2, 1}
      assert search_versions("tag.T2 = 'xyz'") == []
      assert search_versions("tag.t1 = 'abc' and tag.t2 = 'xyz'") == [1]
      assert set(
          search_versions("tag.t1 = 'abc' and tag.t2 LIKE 'x%'")
      ) == {2, 1}
      assert (
          search_versions("tag.t1 = 'abc' and tag.t2 LIKE 'y%'") == []
      )
      # test filter with duplicated keys
      assert search_versions(
          "tag.t2 like 'x%' and tag.t2 != 'xyz'"
      ) == [2]
  
imports: import time
  import uuid
  from typing import List, NamedTuple
  from unittest import mock
  import pytest
  from mlflow.entities.model_registry import ModelVersion, ModelVersionTag, RegisteredModelTag
  from mlflow.exceptions import MlflowException
  from mlflow.protos.databricks_pb2 import INVALID_PARAMETER_VALUE, RESOURCE_DOES_NOT_EXIST, ErrorCode
  from mlflow.store.model_registry.file_store import FileStore
  from mlflow.utils.file_utils import path_to_local_file_uri, write_yaml
  from mlflow.utils.time import get_current_time_millis
  from tests.helper_functions import random_int, random_str
label_desc: Use image node_id 29 for calling a global function with example usage: test_search_model_versions_by_tag(store) and returns: unknown