我有一个php,linux服务器.它有一个名为的文件夹notes_docs,其中包含超过600,000个txt文件.文件夹结构notes_docs如下 -
- notes_docs
- files_txt
- 20170831
- 1_837837472_abc_file.txt
- 1_579374743_abc2_file.txt
- 1_291838733_uridjdh.txt
- 1_482737439_a8weele.txt
- 1_733839474_dejsde.txt
- 20170830
- 20170829
Run Code Online (Sandbox Code Playgroud)
我必须提供一个快速文本搜索实用程序,可以在浏览器上显示结果.因此,如果我的用户搜索"new york",那么其中包含"new york"的所有文件都应该以数组形式返回.如果用户搜索"foo",则应返回其中包含"foo"的所有文件.
我已经尝试过的代码中使用scandir,并且Directory Iterator,这是太慢了.搜索需要一分多钟,即使这样搜索也没有完成.我尝试了ubuntu find,这又慢了一分钟才能完成.因为文件夹迭代太多,notes_docs当前大小超过20 GB.
我可以使用任何解决方案来加快速度.我可以进行设计更改,将我的PHP代码集成到另一种语言代码中.在极端情况下我也可以进行基础设施更改(就像在内存中使用一样).
我想知道业内人士如何做到这一点?人们确实,Zip Recruiter都提供文件搜索.
请注意我有2GB - 4GB到RAM,所以不能一直加载RAM上的所有文件.
编辑 - 以下所有输入都很棒.对于那些后来的人,我们最终使用Lucene进行索引和文本搜索.它表现得非常好
我有一个带有某些html元素的网页和bootstrap类.
<div class="col-xs-12 col-lg-4"></div>
Run Code Online (Sandbox Code Playgroud)
我想在点击时给出一个按钮,应切换网页上div的视口/布局更改.单击该按钮,我应该能够看到布局的实时更改和用于移动视图的引导触发器"col-xs-12"和用于笔记本电脑视图的"col-lg-4".我不知道我正在寻找哪个css或bootstrap或html属性.
任何帮助都感激不尽.
编辑 - 用例 - 我给用户一个屏幕来编辑CSS和类.我想给用户提供切换按钮,这样他就可以看到他的元素在笔记本电脑视图和移动视图中的样子.
我有一些通过动态渲染内容的反应代码React.createElement。因此,CSS 是通过对象应用的。该动态生成中的元素可以具有背景图像,指向公共 aws S3 存储桶。
似乎每次我的组件重新渲染时,都会再次从 S3 获取背景图像。这会延迟页面渲染。我在所有对象上设置了用于缓存控制的 S3 元数据。以下是背景图像加载的请求和响应标头 -
响应头 -
Accept-Ranges: bytes
Cache-Control: public, max-age=604800
Content-Length: 52532
Content-Type: application/octet-stream
Date: Sun, 06 Feb 2022 05:57:32 GMT
ETag: "f29655808a5f80627d9ea7f44058a5e3"
Last-Modified: Sun, 06 Feb 2022 05:55:10 GMT
Server: AmazonS3
x-amz-meta-filetype: IMAGE
Run Code Online (Sandbox Code Playgroud)
请求标头 -
Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9,hi;q=0.8
Cache-Control: no-cache
Connection: keep-alive
Host: <bucket-name>s3.amazonaws.com
Pragma: no-cache
Referer: https://<my-domain>.com/
sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="97", "Chromium";v="97"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Linux"
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: …Run Code Online (Sandbox Code Playgroud) css ×2
bootstrap-4 ×1
caching ×1
file-search ×1
jquery ×1
linux ×1
php ×1
reactjs ×1
viewport ×1