Azure Ai Search Vector Store: Hybrid Search (Keyword Search) not working

Describe the problem/error/question

We are are using self hosted n8n version 2.4.6. It seems the keyword part of the hybrid search in the Azure AI Search Vector Store is not working at all.

When searching for a keyword, the only chunk containing that keyword is often not in the top 10. Also, the score of the chunk containing the keyword does not change, no matter if the search type is “vector” or “hybrid”.

How to reproduce:

There is only one chunk in the vector store having the word “wurzelpferdehimmel”. Using that keyword in the AI Search Explorer in the Azure Portal returns only that chunk. The same quere in the Azure AI Search Vector Store node returns many chunks. The chunk containing the keyword is not returned in the top 10. No matter, if the query type is “vector”, “hybrid” or “semantic hybrid”.

We replaced the Azure AI Search Explorer with a HTTP-Reqest node and called Azure AI Search directly. It worked instantly as expected.

What is the error message (if any)?

There is no error message.

Please share your workflow

It can be reproduced with the Azure AI Search Vector Store alone. The configuration is:

Operation Mode: Get Many
Prompt: <any keyword, that is rare in the vector store>
Limit: 5
Include Metadata: yes
Rerank Results: no
Query Type: hybrid
Embedding: text-embedding-3-small

Information on your n8n setup

  • n8n version: 2.4.6
  • Database (default: SQLite): PostgreSQL
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app): OpenShift/Docker
  • Operating system:
1 Like

Hello @RolandS ,

It is definitely a bug in the node version you are running. An update should fix it, but your manual HTTP workaround is the most robust solution for production right now.

Since you already have the HTTP Request node working, honestly? Keep using it. The native Vector Store nodes in n8n are “convenience wrappers.” When they break or lack a specific parameter (like search_mode or specific scoring profiles), the HTTP Request node is always superior because it gives you raw access to the Azure API.

If you want to keep your workflow clean, you can wrap that working HTTP Request node in a Custom Node (or a sub-workflow) so it feels like a native node but behaves exactly how you need it to.

regards,

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.