|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2023/3/25 12:41:15 |
标题: |
|
加入我的收藏 |
楼主: |
像今日头条,不管是标题还是内容,都可以搜索到。是把那么多文件装入内存,然后用流查找吗?
----------------------------------------------
- |
作者: |
|
2023/3/25 15:46:11 |
1楼: |
全文索引
----------------------------------------------
-广袤璀璨的银河,永无止境的梦想(梦无止境游银河) 博客挂了……
|
作者: |
|
2023/3/25 18:10:34 |
2楼: |
首先你要获得内容的纯文本, 然后根据规模大致上分成两类:
1.如果数据量不大,可以使用使用Pos函数进行搜索,或者强一点,用正则表达式。加上一些优化手段,其实处理1G以下的文本速度还可以接受,再多我估计就不行了。
2.如果数据量大了,则肯定是全文索引了, 这个就复杂了,必须软硬接合,当然也有很多现成的库可用。 你可以看看这个: https://www.easemob.com/news/8150
----------------------------------------------
UniKeeper V10.30 -- 您最贴心的个人数据管理助手
|
作者: |
|
2023/3/25 22:47:02 |
3楼: |
谢谢,问题是今日头条是对远程数据库的字段,或者保存在服务器上的文档搜索,应该是在服务器上搜索呢,还是在客户端搜索呢?我以前用pos对内存流进行过搜索
----------------------------------------------
-
|
作者: |
|
2023/3/29 9:27:12 |
5楼: |
如果是小型站点,就用数据库自带的全文索引就足够了. postgres的全文索引效率很高, mysql我发现相当慢,不清楚是不是没配置好.
大型站点都是有专用的搜索服务, 用es之类的.
----------------------------------------------
-
|
作者: |
|
2023/3/29 9:43:58 |
6楼: |
用 ELASTIC SEARCH/SOLR 等, 然後你FEED 資料給它,它們會建INVERT INDEX。 最後你再CALL 它的API 去進行FULL TEXT SEARCH 即可。它會返回RESULT SET 給你的了。按規定顯示即可。 它是不是在MEMORY SEARCH? 答,看你的設定,但必然是有一部分在MEMORY 中。 如果你的RAM 夠大,例如一千幾百 TB,哪百度也可以放進去了。 不然是你分散在不同的MACHINE 中,每台都有個一百幾十GB 的也可以。
這東西, 沒人全用RELATION DB 來做的。 這東西,還會扯到中文分詞的問題。 這東西,別人做了兩百年了。隨便查都有。
----------------------------------------------
-
|
|