问搜图接口优化展示内容
This commit is contained in:
parent
fe8f0a875a
commit
c3a7e3be79
@ -967,6 +967,10 @@ fn extract_image_filename_from_content(content: &str) -> Option<String> {
|
|||||||
IMAGE_REF_RE.captures(content)?.get(1).map(|m| m.as_str().to_string())
|
IMAGE_REF_RE.captures(content)?.get(1).map(|m| m.as_str().to_string())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn image_description_lookup_filename(image_filename: &str) -> &str {
|
||||||
|
image_filename.strip_prefix("images/").unwrap_or(image_filename)
|
||||||
|
}
|
||||||
|
|
||||||
/// 为图片相关搜索结果补充图片名称和 split_image 返回的 image_content(描述)。
|
/// 为图片相关搜索结果补充图片名称和 split_image 返回的 image_content(描述)。
|
||||||
async fn enrich_image_search_results(
|
async fn enrich_image_search_results(
|
||||||
pool: &SqlitePool, mut results: Vec<SearchResultItem>,
|
pool: &SqlitePool, mut results: Vec<SearchResultItem>,
|
||||||
@ -990,8 +994,9 @@ async fn enrich_image_search_results(
|
|||||||
let original_content = result.content.clone();
|
let original_content = result.content.clone();
|
||||||
result.image_filename = Some(filename.clone());
|
result.image_filename = Some(filename.clone());
|
||||||
result.descprition = Some(original_content);
|
result.descprition = Some(original_content);
|
||||||
|
let lookup_filename = image_description_lookup_filename(&filename);
|
||||||
let (description, jpg_filename) = descriptions
|
let (description, jpg_filename) = descriptions
|
||||||
.get(&(result.file_id, filename.clone()))
|
.get(&(result.file_id, lookup_filename.to_string()))
|
||||||
.cloned()
|
.cloned()
|
||||||
.unwrap_or_else(|| (String::new(), None));
|
.unwrap_or_else(|| (String::new(), None));
|
||||||
if !description.is_empty() {
|
if !description.is_empty() {
|
||||||
@ -1000,13 +1005,7 @@ async fn enrich_image_search_results(
|
|||||||
let jpg_filename = jpg_filename.unwrap_or(filename);
|
let jpg_filename = jpg_filename.unwrap_or(filename);
|
||||||
result.jpg_filename = Some(jpg_filename.clone());
|
result.jpg_filename = Some(jpg_filename.clone());
|
||||||
let source_filename = result.file.as_ref().map(|file| file.filename.as_str()).unwrap_or_default();
|
let source_filename = result.file.as_ref().map(|file| file.filename.as_str()).unwrap_or_default();
|
||||||
let kb_id = result
|
result.content = format!("{}_{}", source_filename, jpg_filename);
|
||||||
.file
|
|
||||||
.as_ref()
|
|
||||||
.and_then(|file| file.kb_id)
|
|
||||||
.map(|id| id.to_string())
|
|
||||||
.unwrap_or_else(|| "null".to_string());
|
|
||||||
result.content = format!("{}/{}/{}", source_filename, kb_id, jpg_filename);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(results)
|
Ok(results)
|
||||||
|
|||||||
29
todo.md
29
todo.md
@ -1,3 +1,32 @@
|
|||||||
文档:122-06A0014-B01001_发动机-维修手册.pdf
|
文档:122-06A0014-B01001_发动机-维修手册.pdf
|
||||||
搜索:保养主推进柴油机的步骤
|
搜索:保养主推进柴油机的步骤
|
||||||
搜索方式:高级搜索
|
搜索方式:高级搜索
|
||||||
|
curl -X 'GET' \
|
||||||
|
'http://localhost:3000/api/v1/knowledge/search/image-by-text?query=%E5%9B%BE%203.2%20%E8%88%B9%E8%88%B6%E4%B8%BB%E5%8F%91%E5%8A%A8%E6%9C%BA%E7%BB%84%E6%88%90%E5%9B%BE.jpg' \
|
||||||
|
-H 'accept: application/json' \
|
||||||
|
-H 'x-user-id: 1' \
|
||||||
|
-H 'x-user-name: testuser' \
|
||||||
|
-H 'x-role: admin'服务有个问题,当我调用问搜图检索接口时,输出如下:{
|
||||||
|
"results": [
|
||||||
|
{
|
||||||
|
"id": 11,
|
||||||
|
"file_id": 2,
|
||||||
|
"content": "163-06A0015-B01001_发动机-维修手册.pdf/8/images/ae9bcbc029d318bd8189bbb9c67cd730ea4c950b1e383ed8454834040d7d16ae.jpg",
|
||||||
|
"score": 0.98560935,
|
||||||
|
"file": {
|
||||||
|
"id": 2,
|
||||||
|
"filename": "163-06A0015-B01001_发动机-维修手册.pdf",
|
||||||
|
"kb_id": 8,
|
||||||
|
"is_public": false,
|
||||||
|
"user_id": "user1",
|
||||||
|
"created_at": 1784875238
|
||||||
|
},
|
||||||
|
"kb": {
|
||||||
|
"id": 8,
|
||||||
|
"name": "测试0724",
|
||||||
|
"is_public": false,
|
||||||
|
"user_id": "user1"
|
||||||
|
},
|
||||||
|
"image_filename": "images/ae9bcbc029d318bd8189bbb9c67cd730ea4c950b1e383ed8454834040d7d16ae.jpg",
|
||||||
|
"jpg_filename": "images/ae9bcbc029d318bd8189bbb9c67cd730ea4c950b1e383ed8454834040d7d16ae.jpg",}]
|
||||||
|
首先jpg_filename返回的字段值不对,数据库中已经是图 3.2 船舶主发动机组成图.jpg,但这里仍然是和image_filename一样的值,同时content返回的内容需要修改,应该为:filename_jpg_filename,例如:163-06A0015-B01001_发动机-维修手册.pdf_图 3.2 船舶主发动机组成图.jpg
|
||||||
Loading…
x
Reference in New Issue
Block a user