mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-06-04 11:14:10 +08:00
fix metadata filter not affect in keyword-search and fulltext-search (#16644)
This commit is contained in:
parent
c167a1f4f4
commit
1be0d26c1f
@ -97,6 +97,7 @@ class RetrievalService:
|
|||||||
all_documents=all_documents,
|
all_documents=all_documents,
|
||||||
retrieval_method=retrieval_method,
|
retrieval_method=retrieval_method,
|
||||||
exceptions=exceptions,
|
exceptions=exceptions,
|
||||||
|
document_ids_filter=document_ids_filter,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
concurrent.futures.wait(futures, timeout=30, return_when=concurrent.futures.ALL_COMPLETED)
|
concurrent.futures.wait(futures, timeout=30, return_when=concurrent.futures.ALL_COMPLETED)
|
||||||
@ -222,6 +223,7 @@ class RetrievalService:
|
|||||||
all_documents: list,
|
all_documents: list,
|
||||||
retrieval_method: str,
|
retrieval_method: str,
|
||||||
exceptions: list,
|
exceptions: list,
|
||||||
|
document_ids_filter: Optional[list[str]] = None,
|
||||||
):
|
):
|
||||||
with flask_app.app_context():
|
with flask_app.app_context():
|
||||||
try:
|
try:
|
||||||
@ -231,7 +233,9 @@ class RetrievalService:
|
|||||||
|
|
||||||
vector_processor = Vector(dataset=dataset)
|
vector_processor = Vector(dataset=dataset)
|
||||||
|
|
||||||
documents = vector_processor.search_by_full_text(cls.escape_query_for_search(query), top_k=top_k)
|
documents = vector_processor.search_by_full_text(
|
||||||
|
cls.escape_query_for_search(query), top_k=top_k, document_ids_filter=document_ids_filter
|
||||||
|
)
|
||||||
if documents:
|
if documents:
|
||||||
if (
|
if (
|
||||||
reranking_model
|
reranking_model
|
||||||
|
@ -610,7 +610,11 @@ class DatasetRetrieval:
|
|||||||
if dataset.indexing_technique == "economy":
|
if dataset.indexing_technique == "economy":
|
||||||
# use keyword table query
|
# use keyword table query
|
||||||
documents = RetrievalService.retrieve(
|
documents = RetrievalService.retrieve(
|
||||||
retrieval_method="keyword_search", dataset_id=dataset.id, query=query, top_k=top_k
|
retrieval_method="keyword_search",
|
||||||
|
dataset_id=dataset.id,
|
||||||
|
query=query,
|
||||||
|
top_k=top_k,
|
||||||
|
document_ids_filter=document_ids_filter,
|
||||||
)
|
)
|
||||||
if documents:
|
if documents:
|
||||||
all_documents.extend(documents)
|
all_documents.extend(documents)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user