def test_filter_on_id_error_message(self):
        """A test to check that filtering on _id has a proper error message"""
        test_case = [
            ("id:e197e580-039", "Invalid field 'id', it should be '_id'"),
            ("ID:e197e580-039", "Invalid field 'ID', it should be '_id'"),
            ("id__:e197e580-039", "Invalid field 'id__', it should be '_id'"),
        ]
        for filter_string, msg in test_case:
            with self.subTest(filter_string=filter_string):
                with self.assertRaises(MarqoWebError) as cm:
                    self.client.index(self.text_index_name).search(q="title", filter_string=filter_string)
                self.assertIn("has no filterable field", str(cm.exception.message))
                self.assertIn("Available filterable fields are",  str(cm.exception.message))
A test to check that filtering on _id has a proper error message
tests/api_tests/v1/tests/api_tests/structured_index/test_search.py