fix: auto-fix code issues (cron)
- 修复重复导入/字段 - 修复异常处理 - 修复PEP8格式问题 (816+ 处) - 添加缺失的导入 (json, re) - 统一SQL查询格式 - 修复赋值语句空格问题 修复文件: - db_manager.py (96处) - search_manager.py (77处) - ops_manager.py (66处) - developer_ecosystem_manager.py (68处) - growth_manager.py (60处) - enterprise_manager.py (61处) - tenant_manager.py (57处) - plugin_manager.py (48处) - subscription_manager.py (46处) - security_manager.py (29处) - workflow_manager.py (32处) - localization_manager.py (31处) - api_key_manager.py (20处) - ai_manager.py (23处) - performance_manager.py (24处) - neo4j_manager.py (25处) - collaboration_manager.py (33处) - test_phase8_task8.py (16处) - test_phase8_task6.py (4处) - knowledge_reasoner.py (添加import json) - llm_client.py (添加import json)
This commit is contained in:
@@ -439,7 +439,7 @@ class FullTextSearch:
|
||||
params = []
|
||||
|
||||
if project_id:
|
||||
base_where.append("project_id = ?")
|
||||
base_where.append("project_id = ?")
|
||||
params.append(project_id)
|
||||
|
||||
if content_types:
|
||||
@@ -459,7 +459,7 @@ class FullTextSearch:
|
||||
f"""
|
||||
SELECT content_id, content_type, project_id, frequency, positions
|
||||
FROM search_term_freq
|
||||
WHERE term = ? AND {base_where_str}
|
||||
WHERE term = ? AND {base_where_str}
|
||||
""",
|
||||
[term] + params,
|
||||
).fetchall()
|
||||
@@ -478,7 +478,7 @@ class FullTextSearch:
|
||||
f"""
|
||||
SELECT content_id, content_type, project_id, frequency, positions
|
||||
FROM search_term_freq
|
||||
WHERE term = ? AND {base_where_str}
|
||||
WHERE term = ? AND {base_where_str}
|
||||
""",
|
||||
[term] + params,
|
||||
).fetchall()
|
||||
@@ -497,7 +497,7 @@ class FullTextSearch:
|
||||
f"""
|
||||
SELECT content_id, content_type, project_id, frequency, positions
|
||||
FROM search_term_freq
|
||||
WHERE term = ? AND {base_where_str}
|
||||
WHERE term = ? AND {base_where_str}
|
||||
""",
|
||||
[token] + params,
|
||||
).fetchall()
|
||||
@@ -516,7 +516,7 @@ class FullTextSearch:
|
||||
f"""
|
||||
SELECT content_id, content_type
|
||||
FROM search_term_freq
|
||||
WHERE term = ? AND {base_where_str}
|
||||
WHERE term = ? AND {base_where_str}
|
||||
""",
|
||||
[term] + params,
|
||||
).fetchall()
|
||||
@@ -551,13 +551,13 @@ class FullTextSearch:
|
||||
try:
|
||||
if content_type == "transcript":
|
||||
row = conn.execute(
|
||||
"SELECT full_text FROM transcripts WHERE id = ?", (content_id,)
|
||||
"SELECT full_text FROM transcripts WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
return row["full_text"] if row else None
|
||||
|
||||
elif content_type == "entity":
|
||||
row = conn.execute(
|
||||
"SELECT name, definition FROM entities WHERE id = ?", (content_id,)
|
||||
"SELECT name, definition FROM entities WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
if row:
|
||||
return f"{row['name']} {row['definition'] or ''}"
|
||||
@@ -568,9 +568,9 @@ class FullTextSearch:
|
||||
"""SELECT r.relation_type, r.evidence,
|
||||
e1.name as source_name, e2.name as target_name
|
||||
FROM entity_relations r
|
||||
JOIN entities e1 ON r.source_entity_id = e1.id
|
||||
JOIN entities e2 ON r.target_entity_id = e2.id
|
||||
WHERE r.id = ?""",
|
||||
JOIN entities e1 ON r.source_entity_id = e1.id
|
||||
JOIN entities e2 ON r.target_entity_id = e2.id
|
||||
WHERE r.id = ?""",
|
||||
(content_id,),
|
||||
).fetchone()
|
||||
if row:
|
||||
@@ -589,15 +589,15 @@ class FullTextSearch:
|
||||
try:
|
||||
if content_type == "transcript":
|
||||
row = conn.execute(
|
||||
"SELECT project_id FROM transcripts WHERE id = ?", (content_id,)
|
||||
"SELECT project_id FROM transcripts WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
elif content_type == "entity":
|
||||
row = conn.execute(
|
||||
"SELECT project_id FROM entities WHERE id = ?", (content_id,)
|
||||
"SELECT project_id FROM entities WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
elif content_type == "relation":
|
||||
row = conn.execute(
|
||||
"SELECT project_id FROM entity_relations WHERE id = ?", (content_id,)
|
||||
"SELECT project_id FROM entity_relations WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
else:
|
||||
return None
|
||||
@@ -712,13 +712,13 @@ class FullTextSearch:
|
||||
|
||||
# 删除索引
|
||||
conn.execute(
|
||||
"DELETE FROM search_indexes WHERE content_id = ? AND content_type = ?",
|
||||
"DELETE FROM search_indexes WHERE content_id = ? AND content_type = ?",
|
||||
(content_id, content_type),
|
||||
)
|
||||
|
||||
# 删除词频统计
|
||||
conn.execute(
|
||||
"DELETE FROM search_term_freq WHERE content_id = ? AND content_type = ?",
|
||||
"DELETE FROM search_term_freq WHERE content_id = ? AND content_type = ?",
|
||||
(content_id, content_type),
|
||||
)
|
||||
|
||||
@@ -737,7 +737,7 @@ class FullTextSearch:
|
||||
try:
|
||||
# 索引转录文本
|
||||
transcripts = conn.execute(
|
||||
"SELECT id, project_id, full_text FROM transcripts WHERE project_id = ?",
|
||||
"SELECT id, project_id, full_text FROM transcripts WHERE project_id = ?",
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
@@ -750,7 +750,7 @@ class FullTextSearch:
|
||||
|
||||
# 索引实体
|
||||
entities = conn.execute(
|
||||
"SELECT id, project_id, name, definition FROM entities WHERE project_id = ?",
|
||||
"SELECT id, project_id, name, definition FROM entities WHERE project_id = ?",
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
@@ -766,9 +766,9 @@ class FullTextSearch:
|
||||
"""SELECT r.id, r.project_id, r.relation_type, r.evidence,
|
||||
e1.name as source_name, e2.name as target_name
|
||||
FROM entity_relations r
|
||||
JOIN entities e1 ON r.source_entity_id = e1.id
|
||||
JOIN entities e2 ON r.target_entity_id = e2.id
|
||||
WHERE r.project_id = ?""",
|
||||
JOIN entities e1 ON r.source_entity_id = e1.id
|
||||
JOIN entities e2 ON r.target_entity_id = e2.id
|
||||
WHERE r.project_id = ?""",
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
@@ -967,7 +967,7 @@ class SemanticSearch:
|
||||
params = []
|
||||
|
||||
if project_id:
|
||||
where_clauses.append("project_id = ?")
|
||||
where_clauses.append("project_id = ?")
|
||||
params.append(project_id)
|
||||
|
||||
if content_types:
|
||||
@@ -1029,13 +1029,13 @@ class SemanticSearch:
|
||||
try:
|
||||
if content_type == "transcript":
|
||||
row = conn.execute(
|
||||
"SELECT full_text FROM transcripts WHERE id = ?", (content_id,)
|
||||
"SELECT full_text FROM transcripts WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
result = row["full_text"] if row else None
|
||||
|
||||
elif content_type == "entity":
|
||||
row = conn.execute(
|
||||
"SELECT name, definition FROM entities WHERE id = ?", (content_id,)
|
||||
"SELECT name, definition FROM entities WHERE id = ?", (content_id,)
|
||||
).fetchone()
|
||||
result = f"{row['name']}: {row['definition']}" if row else None
|
||||
|
||||
@@ -1044,9 +1044,9 @@ class SemanticSearch:
|
||||
"""SELECT r.relation_type, r.evidence,
|
||||
e1.name as source_name, e2.name as target_name
|
||||
FROM entity_relations r
|
||||
JOIN entities e1 ON r.source_entity_id = e1.id
|
||||
JOIN entities e2 ON r.target_entity_id = e2.id
|
||||
WHERE r.id = ?""",
|
||||
JOIN entities e1 ON r.source_entity_id = e1.id
|
||||
JOIN entities e2 ON r.target_entity_id = e2.id
|
||||
WHERE r.id = ?""",
|
||||
(content_id,),
|
||||
).fetchone()
|
||||
result = (
|
||||
@@ -1087,7 +1087,7 @@ class SemanticSearch:
|
||||
conn = self._get_conn()
|
||||
|
||||
row = conn.execute(
|
||||
"SELECT embedding, project_id FROM embeddings WHERE content_id = ? AND content_type = ?",
|
||||
"SELECT embedding, project_id FROM embeddings WHERE content_id = ? AND content_type = ?",
|
||||
(content_id, content_type),
|
||||
).fetchone()
|
||||
|
||||
@@ -1102,7 +1102,7 @@ class SemanticSearch:
|
||||
rows = conn.execute(
|
||||
"""SELECT content_id, content_type, project_id, embedding
|
||||
FROM embeddings
|
||||
WHERE project_id = ? AND (content_id != ? OR content_type != ?)""",
|
||||
WHERE project_id = ? AND (content_id != ? OR content_type != ?)""",
|
||||
(project_id, content_id, content_type),
|
||||
).fetchall()
|
||||
|
||||
@@ -1140,7 +1140,7 @@ class SemanticSearch:
|
||||
try:
|
||||
conn = self._get_conn()
|
||||
conn.execute(
|
||||
"DELETE FROM embeddings WHERE content_id = ? AND content_type = ?",
|
||||
"DELETE FROM embeddings WHERE content_id = ? AND content_type = ?",
|
||||
(content_id, content_type),
|
||||
)
|
||||
conn.commit()
|
||||
@@ -1192,7 +1192,7 @@ class EntityPathDiscovery:
|
||||
|
||||
# 获取项目ID
|
||||
row = conn.execute(
|
||||
"SELECT project_id FROM entities WHERE id = ?", (source_entity_id,)
|
||||
"SELECT project_id FROM entities WHERE id = ?", (source_entity_id,)
|
||||
).fetchone()
|
||||
|
||||
if not row:
|
||||
@@ -1203,7 +1203,7 @@ class EntityPathDiscovery:
|
||||
|
||||
# 验证目标实体也在同一项目
|
||||
row = conn.execute(
|
||||
"SELECT 1 FROM entities WHERE id = ? AND project_id = ?",
|
||||
"SELECT 1 FROM entities WHERE id = ? AND project_id = ?",
|
||||
(target_entity_id, project_id),
|
||||
).fetchone()
|
||||
|
||||
@@ -1231,11 +1231,11 @@ class EntityPathDiscovery:
|
||||
"""
|
||||
SELECT target_entity_id as neighbor_id, relation_type, evidence
|
||||
FROM entity_relations
|
||||
WHERE source_entity_id = ? AND project_id = ?
|
||||
WHERE source_entity_id = ? AND project_id = ?
|
||||
UNION
|
||||
SELECT source_entity_id as neighbor_id, relation_type, evidence
|
||||
FROM entity_relations
|
||||
WHERE target_entity_id = ? AND project_id = ?
|
||||
WHERE target_entity_id = ? AND project_id = ?
|
||||
""",
|
||||
(current_id, project_id, current_id, project_id),
|
||||
).fetchall()
|
||||
@@ -1268,7 +1268,7 @@ class EntityPathDiscovery:
|
||||
|
||||
# 获取项目ID
|
||||
row = conn.execute(
|
||||
"SELECT project_id FROM entities WHERE id = ?", (source_entity_id,)
|
||||
"SELECT project_id FROM entities WHERE id = ?", (source_entity_id,)
|
||||
).fetchone()
|
||||
|
||||
if not row:
|
||||
@@ -1294,11 +1294,11 @@ class EntityPathDiscovery:
|
||||
"""
|
||||
SELECT target_entity_id as neighbor_id
|
||||
FROM entity_relations
|
||||
WHERE source_entity_id = ? AND project_id = ?
|
||||
WHERE source_entity_id = ? AND project_id = ?
|
||||
UNION
|
||||
SELECT source_entity_id as neighbor_id
|
||||
FROM entity_relations
|
||||
WHERE target_entity_id = ? AND project_id = ?
|
||||
WHERE target_entity_id = ? AND project_id = ?
|
||||
""",
|
||||
(current_id, project_id, current_id, project_id),
|
||||
).fetchall()
|
||||
@@ -1328,7 +1328,7 @@ class EntityPathDiscovery:
|
||||
nodes = []
|
||||
for entity_id in entity_ids:
|
||||
row = conn.execute(
|
||||
"SELECT id, name, type FROM entities WHERE id = ?", (entity_id,)
|
||||
"SELECT id, name, type FROM entities WHERE id = ?", (entity_id,)
|
||||
).fetchone()
|
||||
if row:
|
||||
nodes.append({"id": row["id"], "name": row["name"], "type": row["type"]})
|
||||
@@ -1343,9 +1343,9 @@ class EntityPathDiscovery:
|
||||
"""
|
||||
SELECT id, relation_type, evidence
|
||||
FROM entity_relations
|
||||
WHERE ((source_entity_id = ? AND target_entity_id = ?)
|
||||
OR (source_entity_id = ? AND target_entity_id = ?))
|
||||
AND project_id = ?
|
||||
WHERE ((source_entity_id = ? AND target_entity_id = ?)
|
||||
OR (source_entity_id = ? AND target_entity_id = ?))
|
||||
AND project_id = ?
|
||||
""",
|
||||
(source_id, target_id, target_id, source_id, project_id),
|
||||
).fetchone()
|
||||
@@ -1398,7 +1398,7 @@ class EntityPathDiscovery:
|
||||
|
||||
# 获取项目ID
|
||||
row = conn.execute(
|
||||
"SELECT project_id, name FROM entities WHERE id = ?", (entity_id,)
|
||||
"SELECT project_id, name FROM entities WHERE id = ?", (entity_id,)
|
||||
).fetchone()
|
||||
|
||||
if not row:
|
||||
@@ -1424,14 +1424,14 @@ class EntityPathDiscovery:
|
||||
"""
|
||||
SELECT
|
||||
CASE
|
||||
WHEN source_entity_id = ? THEN target_entity_id
|
||||
WHEN source_entity_id = ? THEN target_entity_id
|
||||
ELSE source_entity_id
|
||||
END as neighbor_id,
|
||||
relation_type,
|
||||
evidence
|
||||
FROM entity_relations
|
||||
WHERE (source_entity_id = ? OR target_entity_id = ?)
|
||||
AND project_id = ?
|
||||
WHERE (source_entity_id = ? OR target_entity_id = ?)
|
||||
AND project_id = ?
|
||||
""",
|
||||
(current_id, current_id, current_id, project_id),
|
||||
).fetchall()
|
||||
@@ -1445,7 +1445,7 @@ class EntityPathDiscovery:
|
||||
|
||||
# 获取邻居信息
|
||||
neighbor_info = conn.execute(
|
||||
"SELECT name, type FROM entities WHERE id = ?", (neighbor_id,)
|
||||
"SELECT name, type FROM entities WHERE id = ?", (neighbor_id,)
|
||||
).fetchone()
|
||||
|
||||
if neighbor_info:
|
||||
@@ -1490,12 +1490,12 @@ class EntityPathDiscovery:
|
||||
"""
|
||||
SELECT
|
||||
CASE
|
||||
WHEN source_entity_id = ? THEN target_entity_id
|
||||
WHEN source_entity_id = ? THEN target_entity_id
|
||||
ELSE source_entity_id
|
||||
END as neighbor_id
|
||||
FROM entity_relations
|
||||
WHERE (source_entity_id = ? OR target_entity_id = ?)
|
||||
AND project_id = ?
|
||||
WHERE (source_entity_id = ? OR target_entity_id = ?)
|
||||
AND project_id = ?
|
||||
""",
|
||||
(current, current, current, project_id),
|
||||
).fetchall()
|
||||
@@ -1565,7 +1565,7 @@ class EntityPathDiscovery:
|
||||
|
||||
# 获取所有实体
|
||||
entities = conn.execute(
|
||||
"SELECT id, name FROM entities WHERE project_id = ?", (project_id,)
|
||||
"SELECT id, name FROM entities WHERE project_id = ?", (project_id,)
|
||||
).fetchall()
|
||||
|
||||
# 计算每个实体作为桥梁的次数
|
||||
@@ -1579,12 +1579,12 @@ class EntityPathDiscovery:
|
||||
"""
|
||||
SELECT
|
||||
CASE
|
||||
WHEN source_entity_id = ? THEN target_entity_id
|
||||
WHEN source_entity_id = ? THEN target_entity_id
|
||||
ELSE source_entity_id
|
||||
END as neighbor_id
|
||||
FROM entity_relations
|
||||
WHERE (source_entity_id = ? OR target_entity_id = ?)
|
||||
AND project_id = ?
|
||||
WHERE (source_entity_id = ? OR target_entity_id = ?)
|
||||
AND project_id = ?
|
||||
""",
|
||||
(entity_id, entity_id, entity_id, project_id),
|
||||
).fetchall()
|
||||
@@ -1601,12 +1601,12 @@ class EntityPathDiscovery:
|
||||
AND target_entity_id IN ({", ".join(["?" for _ in neighbor_ids])}))
|
||||
OR (target_entity_id IN ({", ".join(["?" for _ in neighbor_ids])})
|
||||
AND source_entity_id IN ({", ".join(["?" for _ in neighbor_ids])})))
|
||||
AND project_id = ?
|
||||
AND project_id = ?
|
||||
""",
|
||||
list(neighbor_ids) * 4 + [project_id],
|
||||
).fetchone()
|
||||
|
||||
# 桥接分数 = 邻居数量 / (邻居间连接数 + 1)
|
||||
# 桥接分数 = 邻居数量 / (邻居间连接数 + 1)
|
||||
bridge_score = len(neighbor_ids) / (connections["count"] + 1)
|
||||
else:
|
||||
bridge_score = 0
|
||||
@@ -1690,7 +1690,7 @@ class KnowledgeGapDetection:
|
||||
|
||||
# 获取项目的属性模板
|
||||
templates = conn.execute(
|
||||
"SELECT id, name, type, is_required FROM attribute_templates WHERE project_id = ?",
|
||||
"SELECT id, name, type, is_required FROM attribute_templates WHERE project_id = ?",
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
@@ -1706,7 +1706,7 @@ class KnowledgeGapDetection:
|
||||
|
||||
# 检查每个实体的属性完整性
|
||||
entities = conn.execute(
|
||||
"SELECT id, name FROM entities WHERE project_id = ?", (project_id,)
|
||||
"SELECT id, name FROM entities WHERE project_id = ?", (project_id,)
|
||||
).fetchall()
|
||||
|
||||
for entity in entities:
|
||||
@@ -1714,7 +1714,7 @@ class KnowledgeGapDetection:
|
||||
|
||||
# 获取实体已有的属性
|
||||
existing_attrs = conn.execute(
|
||||
"SELECT template_id FROM entity_attributes WHERE entity_id = ?", (entity_id,)
|
||||
"SELECT template_id FROM entity_attributes WHERE entity_id = ?", (entity_id,)
|
||||
).fetchall()
|
||||
|
||||
existing_template_ids = {a["template_id"] for a in existing_attrs}
|
||||
@@ -1726,7 +1726,7 @@ class KnowledgeGapDetection:
|
||||
missing_names = []
|
||||
for template_id in missing_templates:
|
||||
template = conn.execute(
|
||||
"SELECT name FROM attribute_templates WHERE id = ?", (template_id,)
|
||||
"SELECT name FROM attribute_templates WHERE id = ?", (template_id,)
|
||||
).fetchone()
|
||||
if template:
|
||||
missing_names.append(template["name"])
|
||||
@@ -1759,7 +1759,7 @@ class KnowledgeGapDetection:
|
||||
|
||||
# 获取所有实体及其关系数量
|
||||
entities = conn.execute(
|
||||
"SELECT id, name, type FROM entities WHERE project_id = ?", (project_id,)
|
||||
"SELECT id, name, type FROM entities WHERE project_id = ?", (project_id,)
|
||||
).fetchall()
|
||||
|
||||
for entity in entities:
|
||||
@@ -1770,8 +1770,8 @@ class KnowledgeGapDetection:
|
||||
"""
|
||||
SELECT COUNT(*) as count
|
||||
FROM entity_relations
|
||||
WHERE (source_entity_id = ? OR target_entity_id = ?)
|
||||
AND project_id = ?
|
||||
WHERE (source_entity_id = ? OR target_entity_id = ?)
|
||||
AND project_id = ?
|
||||
""",
|
||||
(entity_id, entity_id, project_id),
|
||||
).fetchone()["count"]
|
||||
@@ -1785,8 +1785,8 @@ class KnowledgeGapDetection:
|
||||
"""
|
||||
SELECT e.id, e.name
|
||||
FROM entities e
|
||||
JOIN transcripts t ON t.project_id = e.project_id
|
||||
WHERE e.project_id = ?
|
||||
JOIN transcripts t ON t.project_id = e.project_id
|
||||
WHERE e.project_id = ?
|
||||
AND e.id != ?
|
||||
AND t.full_text LIKE ?
|
||||
LIMIT 5
|
||||
@@ -1828,9 +1828,9 @@ class KnowledgeGapDetection:
|
||||
"""
|
||||
SELECT e.id, e.name, e.type
|
||||
FROM entities e
|
||||
LEFT JOIN entity_relations r1 ON e.id = r1.source_entity_id
|
||||
LEFT JOIN entity_relations r2 ON e.id = r2.target_entity_id
|
||||
WHERE e.project_id = ?
|
||||
LEFT JOIN entity_relations r1 ON e.id = r1.source_entity_id
|
||||
LEFT JOIN entity_relations r2 ON e.id = r2.target_entity_id
|
||||
WHERE e.project_id = ?
|
||||
AND r1.id IS NULL
|
||||
AND r2.id IS NULL
|
||||
""",
|
||||
@@ -1869,8 +1869,8 @@ class KnowledgeGapDetection:
|
||||
"""
|
||||
SELECT id, name, type, definition
|
||||
FROM entities
|
||||
WHERE project_id = ?
|
||||
AND (definition IS NULL OR definition = '')
|
||||
WHERE project_id = ?
|
||||
AND (definition IS NULL OR definition = '')
|
||||
""",
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
@@ -1900,7 +1900,7 @@ class KnowledgeGapDetection:
|
||||
|
||||
# 分析转录文本中频繁提及但未提取为实体的词
|
||||
transcripts = conn.execute(
|
||||
"SELECT full_text FROM transcripts WHERE project_id = ?", (project_id,)
|
||||
"SELECT full_text FROM transcripts WHERE project_id = ?", (project_id,)
|
||||
).fetchall()
|
||||
|
||||
# 合并所有文本
|
||||
@@ -1908,7 +1908,7 @@ class KnowledgeGapDetection:
|
||||
|
||||
# 获取现有实体名称
|
||||
existing_entities = conn.execute(
|
||||
"SELECT name FROM entities WHERE project_id = ?", (project_id,)
|
||||
"SELECT name FROM entities WHERE project_id = ?", (project_id,)
|
||||
).fetchall()
|
||||
|
||||
existing_names = {e["name"].lower() for e in existing_entities}
|
||||
@@ -1962,9 +1962,9 @@ class KnowledgeGapDetection:
|
||||
stats = conn.execute(
|
||||
"""
|
||||
SELECT
|
||||
(SELECT COUNT(*) FROM entities WHERE project_id = ?) as entity_count,
|
||||
(SELECT COUNT(*) FROM entity_relations WHERE project_id = ?) as relation_count,
|
||||
(SELECT COUNT(*) FROM transcripts WHERE project_id = ?) as transcript_count
|
||||
(SELECT COUNT(*) FROM entities WHERE project_id = ?) as entity_count,
|
||||
(SELECT COUNT(*) FROM entity_relations WHERE project_id = ?) as relation_count,
|
||||
(SELECT COUNT(*) FROM transcripts WHERE project_id = ?) as transcript_count
|
||||
""",
|
||||
(project_id, project_id, project_id),
|
||||
).fetchone()
|
||||
@@ -2140,7 +2140,7 @@ class SearchManager:
|
||||
|
||||
# 索引转录文本
|
||||
transcripts = conn.execute(
|
||||
"SELECT id, project_id, full_text FROM transcripts WHERE project_id = ?",
|
||||
"SELECT id, project_id, full_text FROM transcripts WHERE project_id = ?",
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
@@ -2154,7 +2154,7 @@ class SearchManager:
|
||||
|
||||
# 索引实体
|
||||
entities = conn.execute(
|
||||
"SELECT id, project_id, name, definition FROM entities WHERE project_id = ?",
|
||||
"SELECT id, project_id, name, definition FROM entities WHERE project_id = ?",
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
@@ -2174,7 +2174,7 @@ class SearchManager:
|
||||
conn = sqlite3.connect(self.db_path)
|
||||
conn.row_factory = sqlite3.Row
|
||||
|
||||
where_clause = "WHERE project_id = ?" if project_id else ""
|
||||
where_clause = "WHERE project_id = ?" if project_id else ""
|
||||
params = [project_id] if project_id else []
|
||||
|
||||
# 全文索引统计
|
||||
@@ -2192,7 +2192,7 @@ class SearchManager:
|
||||
if project_id:
|
||||
rows = conn.execute(
|
||||
"""SELECT content_type, COUNT(*) as count
|
||||
FROM search_indexes WHERE project_id = ?
|
||||
FROM search_indexes WHERE project_id = ?
|
||||
GROUP BY content_type""",
|
||||
(project_id,),
|
||||
).fetchall()
|
||||
|
||||
Reference in New Issue
Block a user