zhengborui 发表于 2021-11-2 09:53:41

全文检索的查询问题

本帖最后由 zhengborui 于 2021-11-2 11:28 编辑

您好,我想问一下,query.json中配置了开启已完成工作的收集,时间是每天都的晚上9点50分50秒,数量为500个,在这之前专门录了几条数据,有未完成的两条和已完成的两条,第二天查询结果未完成工作都可以查出来,已完成工作查不出来,数据库里面也没有,这个是什么原因呢?

论坛管理员 发表于 2021-11-3 09:26:57

这个就需要具体具体分析了?
如果方便麻烦提供数据和配置!

zhengborui 发表于 2021-11-3 09:40:02

本帖最后由 zhengborui 于 2021-11-3 14:06 编辑

论坛管理员 发表于 2021-11-3 09:26
这个就需要具体具体分析了?
如果方便麻烦提供数据和配置!
{
"crawlWorkCompleted": {
    "enable": true,
    "cron": "0 0 * * * ?",
    "count": 1000.0,
    "excludeAttachment": [],
    "excludeSite": [],
    "maxAttachmentSize": 5242880.0,
    "###enable": "是否启用###",
    "###cron": "定时cron表达式.###",
    "###count": "每次处理的数量,默认每小时处理所以默认为500,同时每次将重爬最旧的25%,按时间轮询25%.###",
    "###excludeAttachment": "忽略附件名称.###",
    "###excludeSite": "忽略附件位置.###",
    "###maxAttachmentSize": "最大附件大小.###"
},
"crawlWork": {
    "enable": true,
    "cron": "0 0 * * * ?",
    "count": 500.0,
    "excludeAttachment": [],
    "excludeSite": [],
    "maxAttachmentSize": 5242880.0,
    "###enable": "是否启用###",
    "###cron": "定时cron表达式.###",
    "###count": "每次处理的数量,默认每小时处理所以默认为50,同时每次将重爬最旧的50%,按时间轮询50%.###",
    "###excludeAttachment": "忽略附件名称.###",
    "###excludeSite": "忽略附件位置.###",
    "###maxAttachmentSize": "最大附件大小.###"
},
"crawlCms": {
    "enable": true,
    "cron": "0 0 * * * ?",
    "count": 300.0,
    "excludeAttachment": [],
    "maxAttachmentSize": 5242880.0,
    "###enable": "是否启用###",
    "###cron": "定时cron表达式.###",
    "###count": "每次处理的数量,默认每小时处理所以默认为30,同时每次将重爬最旧的50%,按时间轮询50%.###",
    "###excludeAttachment": "忽略附件名称.###",
    "###maxAttachmentSize": "最大附件大小.###"
},
"extractOffice": true,
"extractPdf": true,
"extractText": true,
"extractImage": false,
"tessLanguage": "chi_sim",
"planQueryBatchSize": 500.0,
"###crawlWorkCompleted": "已完成工作收集器设置.###",
"###crawlWork": "工作收集器设置.###",
"###crawlCms": "内容管理收集器设置.###",
"###extractOffice": "抽取office中的文本.###",
"###extractPdf": "抽取pdf中的文本.###",
"###extractText": "抽取文本中的文本.###",
"###extractImage": "抽取图像中的文本.###",
"###tessLanguage": "tess使用语言.###",
"###planQueryBatchSize": "查询批次大小.###"
}

这个是query.json的配置,这样配置我理解再怎么有延迟也应该能爬到最新的workCompleted了吧,一个小时执行一次,最新的cms和work都可以看到,就是workCompleted数据库里面一个都没有,旧的新的数据都没有,但是我在后台api中直接执行下面这个方法传一个workCompletedId进去之后,那个Entry表中就有这条数据了
crawlWorkCompleted
path:      jaxrs/segment/crawl/workcompleted/{workCompletedId}

您能不能给解释一下,这是什么原因

zhengborui 发表于 2021-11-3 15:02:15

您好,这个问题我已经解决了,通过调试源码发现o2server\x_query_service_processing\src\main\java\com\x\query\service\processing\schedule\目录下面的CrawlWorkCompleted类中,有个方法调用传的参数可能有问题,下面附上截图,这个update_references通过源码可以看出是通过查询Entry表得到的结果,如果Entry表中没有符合type=workCompleted的数据,就这一直0,那么调用this.update(update_references)这个方法实际上也是一直没有执行的,然后我换成了updates这个参数,就有结果了,这应该是源码的问题,希望您这边看一下。

论坛管理员 发表于 2021-11-4 10:49:09

您好:会提交到技术部门核实问题。
如果确实存在问题,技术部门会在以后的版本中修复!
页: [1]
查看完整版本: 全文检索的查询问题