In Azure vector store, metadata is kept as a string and can't be used in a filter
Labels: name: area: vector store, name: auto:bug

### System Info

Langchain version 0.0.265
Python 3.11.4


### Who can help?

@hwchase17 

### Information

- [ ] The official example notebooks/scripts
- [X] My own modified scripts

### Related Components

- [ ] LLMs/Chat Models
- [ ] Embedding Models
- [ ] Prompts / Prompt Templates / Prompt Selectors
- [ ] Output Parsers
- [ ] Document Loaders
- [X] Vector Stores / Retrievers
- [ ] Memory
- [ ] Agents / Agent Executors
- [ ] Tools / Toolkits
- [ ] Chains
- [ ] Callbacks/Tracing
- [ ] Async

### Reproduction
```python
from dotenv import load_dotenv
from langchain.vectorstores.azuresearch import AzureSearch
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.docstore.document import Document

import os

load_dotenv()
index_name = 'ebb-test-1'
vector_store_address = os.environ.get('AZURE_VECTOR_STORE_ADDRESS')
vector_store_password = os.environ.get('AZURE_VECTOR_STORE_PASSWORD')

embeddings: OpenAIEmbeddings = OpenAIEmbeddings(model='text-embedding-ada-002', chunk_size=1,
                                                deployment=os.environ.get('AZURE_VECTOR_STORE_DEPLOYMENT'))  

vector_store: AzureSearch = AzureSearch(azure_search_endpoint=vector_store_address,  
                                    azure_search_key=vector_store_password,  
                                    index_name=index_name,  
                                    embedding_function=embeddings.embed_query)  
texts = [
    'Tulips are pretty',
    'Roses have thorns'
]
metas = [
    {'name': 'tulip',
     'nested': {'color': 'purple'}},
    {'name': 'rose',
     'nested': {'color': 'red'}}
]
docs = [Document(page_content=text, metadata=meta) for text, meta in zip(texts, metas)]
vector_store.add_documents(docs)

try:
    # Prints Message: Invalid expression: 'metadata' is not a filterable field. Only filterable fields can be used in filter expressions.
    result = vector_store.vector_search_with_score(
        'things that have thorns', k=3,
        filters="metadata eq 'invalid'")
    print(result)
except Exception as e:
    print(e)
    print('Should print give an error about not being able to convert the string')

try:
    # Prints Message: Invalid expression: Could not find a property named 'name' on type 'Edm.String'.
    result = vector_store.vector_search_with_score(
        'things that have thorns', k=3,
        filters="metadata/name eq 'tulip'")
    print(result)
except Exception as e:
    print(e)
    print('Should just return the tulip (even though it has no thorns)')

try:
    # Prints Message: Invalid expression: Could not find a property named 'nested' on type 'Edm.String'.
    result = vector_store.vector_search_with_score(
        'things that have thorns', k=3,
        filters="metadata/nested/color eq 'red'")
    print(result)
except Exception as e:
    print(e)
    print('Should just return the rose')
``` 

### Expected behavior

The first block should not give an error about metadata being filterable. Instead, it should give some error about the expression being invalid.

The second block should just return the tulip document, and the third one should just return the rose document.