fix: escape double quotation marks in the vector DB search query (#6506)
This commit is contained in:
@@ -110,7 +110,7 @@ class RetrievalService:
|
||||
)
|
||||
|
||||
documents = keyword.search(
|
||||
query,
|
||||
cls.escape_query_for_search(query),
|
||||
top_k=top_k
|
||||
)
|
||||
all_documents.extend(documents)
|
||||
@@ -132,7 +132,7 @@ class RetrievalService:
|
||||
)
|
||||
|
||||
documents = vector.search_by_vector(
|
||||
query,
|
||||
cls.escape_query_for_search(query),
|
||||
search_type='similarity_score_threshold',
|
||||
top_k=top_k,
|
||||
score_threshold=score_threshold,
|
||||
@@ -170,7 +170,7 @@ class RetrievalService:
|
||||
)
|
||||
|
||||
documents = vector_processor.search_by_full_text(
|
||||
query,
|
||||
cls.escape_query_for_search(query),
|
||||
top_k=top_k
|
||||
)
|
||||
if documents:
|
||||
@@ -186,3 +186,7 @@ class RetrievalService:
|
||||
all_documents.extend(documents)
|
||||
except Exception as e:
|
||||
exceptions.append(str(e))
|
||||
|
||||
@staticmethod
|
||||
def escape_query_for_search(query: str) -> str:
|
||||
return query.replace('"', '\\"')
|
Reference in New Issue
Block a user