mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-18 15:35:56 +08:00
fix document could be None (#15818)
This commit is contained in:
parent
10bd03611c
commit
84a866028a
@ -276,6 +276,8 @@ class RetrievalService:
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
dataset_document = dataset_documents[document_id]
|
dataset_document = dataset_documents[document_id]
|
||||||
|
if not dataset_document:
|
||||||
|
continue
|
||||||
|
|
||||||
if dataset_document.doc_form == IndexType.PARENT_CHILD_INDEX:
|
if dataset_document.doc_form == IndexType.PARENT_CHILD_INDEX:
|
||||||
# Handle parent-child documents
|
# Handle parent-child documents
|
||||||
|
@ -433,30 +433,33 @@ class DatasetRetrieval:
|
|||||||
dataset_document = DatasetDocument.query.filter(
|
dataset_document = DatasetDocument.query.filter(
|
||||||
DatasetDocument.id == document.metadata["document_id"]
|
DatasetDocument.id == document.metadata["document_id"]
|
||||||
).first()
|
).first()
|
||||||
if dataset_document.doc_form == IndexType.PARENT_CHILD_INDEX:
|
if dataset_document:
|
||||||
child_chunk = ChildChunk.query.filter(
|
if dataset_document.doc_form == IndexType.PARENT_CHILD_INDEX:
|
||||||
ChildChunk.index_node_id == document.metadata["doc_id"],
|
child_chunk = ChildChunk.query.filter(
|
||||||
ChildChunk.dataset_id == dataset_document.dataset_id,
|
ChildChunk.index_node_id == document.metadata["doc_id"],
|
||||||
ChildChunk.document_id == dataset_document.id,
|
ChildChunk.dataset_id == dataset_document.dataset_id,
|
||||||
).first()
|
ChildChunk.document_id == dataset_document.id,
|
||||||
if child_chunk:
|
).first()
|
||||||
segment = DocumentSegment.query.filter(DocumentSegment.id == child_chunk.segment_id).update(
|
if child_chunk:
|
||||||
|
segment = DocumentSegment.query.filter(DocumentSegment.id == child_chunk.segment_id).update(
|
||||||
|
{DocumentSegment.hit_count: DocumentSegment.hit_count + 1}, synchronize_session=False
|
||||||
|
)
|
||||||
|
db.session.commit()
|
||||||
|
else:
|
||||||
|
query = db.session.query(DocumentSegment).filter(
|
||||||
|
DocumentSegment.index_node_id == document.metadata["doc_id"]
|
||||||
|
)
|
||||||
|
|
||||||
|
# if 'dataset_id' in document.metadata:
|
||||||
|
if "dataset_id" in document.metadata:
|
||||||
|
query = query.filter(DocumentSegment.dataset_id == document.metadata["dataset_id"])
|
||||||
|
|
||||||
|
# add hit count to document segment
|
||||||
|
query.update(
|
||||||
{DocumentSegment.hit_count: DocumentSegment.hit_count + 1}, synchronize_session=False
|
{DocumentSegment.hit_count: DocumentSegment.hit_count + 1}, synchronize_session=False
|
||||||
)
|
)
|
||||||
db.session.commit()
|
|
||||||
else:
|
|
||||||
query = db.session.query(DocumentSegment).filter(
|
|
||||||
DocumentSegment.index_node_id == document.metadata["doc_id"]
|
|
||||||
)
|
|
||||||
|
|
||||||
# if 'dataset_id' in document.metadata:
|
db.session.commit()
|
||||||
if "dataset_id" in document.metadata:
|
|
||||||
query = query.filter(DocumentSegment.dataset_id == document.metadata["dataset_id"])
|
|
||||||
|
|
||||||
# add hit count to document segment
|
|
||||||
query.update({DocumentSegment.hit_count: DocumentSegment.hit_count + 1}, synchronize_session=False)
|
|
||||||
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
# get tracing instance
|
# get tracing instance
|
||||||
trace_manager: TraceQueueManager | None = (
|
trace_manager: TraceQueueManager | None = (
|
||||||
|
Loading…
x
Reference in New Issue
Block a user