Browse Source

pref: optimize add hit count query performance when dataset hit (#2436)

tags/0.5.5
takatost 1 year ago
parent
commit
e1045f01c6
No account linked to committer's email address
1 changed files with 8 additions and 4 deletions
  1. 8
    4
      api/core/callback_handler/index_tool_callback_handler.py

+ 8
- 4
api/core/callback_handler/index_tool_callback_handler.py View File

@@ -42,12 +42,16 @@ class DatasetIndexToolCallbackHandler:
def on_tool_end(self, documents: list[Document]) -> None:
"""Handle tool end."""
for document in documents:
doc_id = document.metadata['doc_id']
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
db.session.query(DocumentSegment).filter(
DocumentSegment.index_node_id == doc_id
).update(
query.update(
{DocumentSegment.hit_count: DocumentSegment.hit_count + 1},
synchronize_session=False
)

Loading…
Cancel
Save