Luxirty Search 中文教程:自建一个没有内容农场的干净搜索引擎
2026-10-06发表于
Web 与自托管一、速览:它到底解决了什么问题
入门
用搜索引擎查技术问题时,排在前面的常常是搬运站、翻译站和标题党页面。点进去发现内容是机翻的、代码跑不通,白白浪费几分钟。这就是内容农场:它们不是为了回答问题,而是为了让你点进来。
Luxirty Search 的思路很直接:在搜索结果出来之前就把这些站排除掉,而不是等它们出现在页面上再手动隐藏。它基于 Google 的搜索结果,但页面更干净,没有广告,也不做用户跟踪。
它已经有一个公开可用的线上版本,打开 https://search.luxirty.com 就能直接搜索,不需要安装任何东西。下面先讲怎么用,再讲怎么把它搬到自己名下。
二、日常用法:把它加进浏览器的搜索栏
入门
最省事的用法是把它设成浏览器的默认搜索引擎,这样地址栏里直接打字就能搜。
添加时需要一个搜索语法,也就是告诉浏览器「把关键词填到哪个位置」。Luxirty Search 的语法是:
search.luxirty.com/search?q=
具体操作因浏览器而异,但思路一致:进入浏览器设置,找到「搜索引擎 / 管理搜索引擎」,选择「添加」,名称随便填(比如 Luxirty),然后把上面那串填进网址栏。以 Chrome 为例,路径是 设置 → 搜索引擎 → 管理搜索引擎 → 网站搜索 → 添加。
添加完记得把它设为默认,否则地址栏回车时用的还是原来的搜索引擎。
页面里有几个标签可以点。For Program 是最常用的一个:点下去之后,GitHub、Stackoverflow、v2ex、cnblog 这类开发者常用的来源权重会被拉高,排在更前面。相当于自动帮你补了一串 site:github.com 之类的限定词,省得手打。
另外还有一键搜索 v2ex 和 Reddit 的入口,适合想看真人讨论而不是官方文档的时候用。
三、它靠什么屏蔽内容农场
进阶 · 推荐细读
理解这一层,后面的自定义和部署会顺很多。
Luxirty Search 本身不是一个从零写的搜索引擎。它调用的是 Google 的可编程自定义搜索引擎,英文叫 Google CSE(Custom Search Engine,可以理解成 Google 提供的"定制版搜索框",你能规定它搜哪些网站、不搜哪些网站)。
在这个定制后台里,可以配置一份 Annotations(标注清单)。通俗地讲,就是一张"哪些网站屏蔽、哪些网站优先"的名单。Google 在服务器端执行搜索时,就已经照着这张名单把垃圾站排除了。
这跟 uBlackList、Hit by Hidden 这类浏览器插件的区别在于:
- 插件是前端屏蔽:垃圾结果先出现,插件再把它划掉或藏起来。
- Luxirty Search 是服务端排除:垃圾结果压根没进返回列表。
用一句话类比:插件像快递到了驿站之后你一个个挑出不要的包裹;Luxirty Search 是在发货环节就不发给你。
完整的屏蔽名单可以在仓库的
docs/block_list.txt里看到,目前覆盖 CSDN、各类云厂商的开发社区,以及一些 Stackoverflow 的中文翻译站。
四、自建部署:把搜索页放到自己的域名
进阶 · 推荐细读
部署一份自己的 Luxirty Search 有几个实际好处:可以按自己的需求改样式、可以换用自己创建的 Google CSE、也可以随时改屏蔽名单。
前置条件是电脑上装了 Node.js 18 或更高版本,以及 pnpm(Node.js 的包管理工具,可以理解成"装零件用的工具箱")。需要 Node.js 是因为这个项目用 Vue 3 和 Vite 编写,本质是一个网页应用,得先在本机跑起来再打包成静态文件。
拿到代码后,先装依赖再启动本地预览:
pnpm install
pnpm dev
pnpm install 会按项目清单下载所有需要的零件,pnpm dev 会启动一个本地预览地址(通常是 http://localhost:5173)。在浏览器打开它,就能看到搜索页在你电脑上跑起来了,改代码会自动刷新。
确认没问题后打包:
pnpm build
打包产物在 dist 目录下,是一堆静态文件。这意味着你可以把它丢到任何支持静态托管的地方,比如 GitHub Pages、Cloudflare Pages、Netlify、Vercel,或者自己的一台服务器上。
使用 Vercel、Netlify 这类平台的网页版时,通常只要填两个值:构建命令 pnpm build,输出目录 dist。它们会自动安装依赖并完成部署。
五、换成你自己的 CSE 与踩坑提醒
深入 · 老手可选
如果你想让搜索结果完全由自己掌控,可以在 https://programmablesearchengine.google.com/about/ 创建一个自己的 CSE,拿到一串叫 cx 的标识码,然后在项目根目录建一个环境变量文件写进去:
VITE_GOOGLE_CSE_CX=你的cx
环境变量指的是在启动项目前先设好的一段配置值,程序运行时会去读它,从而不用把敏感信息写死在代码里。
需要注意:用自己新建的 CSE 部署出来,页面会和官网版本看起来不一样。网站上的 For Program 等标签,是靠 CSE 后台的「优化」功能配置出来的——你得先添加域名,再添加对应的标签,并在标签里勾选想提升权重的站点。这一步不做,标签点了也没效果。
最后是几个已知的限制,提前知道能省下折腾的时间:
- 把 Luxirty Search 设为默认引擎后,浏览器地址栏不会自动补全搜索建议(网页内的搜索框可以)。
- 无法按时间筛选结果,想找最近一周的内容只能自己看日期。
- 没有同义词替换。Google 官网会用近义说法扩展搜索,CSE 不会,所以同样的关键词,这里的结果可能明显少于官网。
- 移动端适配不完整,暗黑模式下也有部分元素过亮或过暗,这是仓库里明确写出的待改进项。
六、判断建议:你该不该用它
入门
如果你经常查技术问题,又被内容农场反复绊住,那么直接用它官网的版本就够了,零成本、零配置,把它加进浏览器搜索栏即可。
如果你希望改样式、维护自己的屏蔽名单,或者想部署到团队内部使用,再考虑走自建这条路。项目本身只是 Vue 3 + Vite,会一点 CSS 和 JavaScript 就能看懂,改配色、调布局的门槛不高。
至于那份屏蔽名单——它永远不可能覆盖所有垃圾站。仓库欢迎通过 issue 提交想拉黑或想提权的域名,所以你在使用中遇到漏网的站点,提交一下就是对这个项目的帮助。
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | KoriIku/luxirty-search |
| 语言 | CSS |
| Star | 1,680 |
| Fork | 163 |
| 主页 | https://search.luxirty.com |
参考链接
延伸阅读
想继续探索?这些同领域的教程可能也适合你:
163
72
1
3401
文章目录
评论