三维模型搜索项目总结

Posted greatlong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三维模型搜索项目总结相关的知识,希望对你有一定的参考价值。

关于三维模型搜索引擎项目相关度排序算法是怎么做的:

以文字搜模型:

基于Lucene文本搜索引擎,查找最匹配的;

以图片搜模型:

计算图片特征,对图片特征计算HashCode, 搜索的时候匹配HashCode;

以模型搜模型:

计算模型的特征得到n维特征矩阵, 对特征矩阵计算HashCode, 搜索的时候匹配HashCode;

去重和检测url有效性是怎么做的:

对外网数据去重:

一开始直接使用条件逐个字段比较判断是否重复;

后来对关键字段连接建立联合哈希值保存,用这个哈希值去重;

后来想到其实外网的url是唯一的,直接对url建立哈希值来去重;后来设想直接用url哈希之后作为主键保存,建立聚集索引;

有效性检测比较简单:

使用java.net 下的类来实现,主要用到了 URL和HttpURLConnection :

刚开始使用openStream()方法,这样使用倒是可以,但是速度慢;

最后使用了getResponseCode()方法,可以得到请求的响应状态,该方法返回一个 int 分别是 200 and 404 如无法从响应中识别任何代码则返回 -1, 如果对该url发起的5次请求都没有应答则认为链接失效;

2019年3月19日腾讯后台开发一面问题待解决(QQ浏览器搜索部门)

1. 你们搜索引擎的QPS有多少?

2. 关于文字搜索的部分, Lucene是怎么设置索引/关键字/相似性度量 的?

4. 你做的去重、检查有效性的工具在运行的时候监控过性能吗?哪种资源占用比较多?

5. 你们的搜索引擎支持图片搜索,是怎么做的?用了什么算法(提取图片特征用了什么算法)?

6. 不管是图片的特征还是三维模型的特征, 你们提取了之后保存在数据库里面, 然后新来了一张图片, 你也计算了它的特征,那么如何度量这个特征与你数据库中已有图片的特征的相似度呢?

答:直接使用欧式距离计算。反问: 你们的数据量大概有三百万,你要是这么做的话,挨个计算距离效率也太低了吧?

7. 你们这个项目还有哪些可以改进的地方(主键设置不合理, 怎么设置)?

8.  知道网络编程吗?了解网络IO模型吗?讲一讲IO多路复用

9. redis了解吗?你提到了redis的缓存替换策略, allkeys lru 替换策略中的 LRU(Least Recently Used)算法的原理是什么? 不知道? 那如果让你设计,应该怎么设计?

10. 如果让你设计一个数据库,实现增删该查这些功能, 有什么注意事项?

11. 讲一讲多线程编程?

面试结果:秒灰

数据库的知识问了很多

针对项目问了很多

一定一定一定要了解项目的所有细节!

 

以上是关于三维模型搜索项目总结的主要内容,如果未能解决你的问题,请参考以下文章

第十周总结

基于cesium和mars3d海洋三维管线信息系统开发完工总结

数据地图搜索功能模块项目总结springBoot+Elasticsearch

基于mars3d海洋三维管线系统开发中期总结

Soliworks 2016建模细节总结

星敏感器镜头参数在轨标定项目总结