所以改造之路就此开始,既然只能依赖简单粗暴的数据库搜索,规范化写作就是唯一一条路,其中最重要的要算 中英文混排用空格隔开 这一条。然后就发现了宝藏工具 Pangu.js
。安装打包好的浏览器插件测试,功能比较简单,就一个按键,然后可以选择是否加载网页时自动排版。这个JS库针对的是纯文本或者html,不支持markdown以及其它标记型语言。最郁闷的是,VisualEditor 下基本不起作用。
然后就找到了一个用了 Panju.js
的 wiki 站,移植过来,感觉有戏。最初的设想是通过组合快捷键触发 JS 读取选中文本,格式化好之后写入剪切板,前端显示通知然后手动粘贴。想法很美好,然而就在快完工时突然意识到一个严重漏洞:这个只针对纯文本的内容好使,碰到带格式的这么一转换肯定撸的干干净净。就此开启挖坑之旅。
首先想到的是选中文本读取为 html 格式,转换后再以 html 粘贴。碰到的第一个问题就是: Pangu.js
在 VisualEditor 下根本不起作用,而浏览器插件是可以的。研究源码发现问题出在 spacingPageBody
可用而 spacingNode
不可用。于是开始了无聊的逐句对比debug,找到根源在于 Xpath :
1 | key: "spacingNode", |
虽然不知道 .//*/
意义是什么,至少可以读取到 Node 中的内容了。然而这还不够,作者在核心代码里屏蔽掉了 textarea 和带 contentEditable 属性的内容(debug到吐)。所以:
1 | key: "isContentEditable", |
接下来就是获取选中 Node,然而又遇到另外一个问题,如果选取在段落边界,相邻的 element 可能会乱入。还有一个问题是如何保留格式再粘贴回来。所以暂时放弃这个办法,依赖 Pangu.js
自带的DOM操作逻辑直接修改原位格式化。之后就碰到了最郁闷的事:每次格式化段落之前要把光标点击到这个段落,否则再点回来就会自动还原。注意是点击,键盘移动或者 JS 模拟点击都不行。追踪还原事件发现这个写在 VE 的核心代码里,这样的话就不能全文批量格式化了。找了很多可能的解决办法,最后的决定是:妥协。回归最原始的方式:点击快捷键时通过 getSelection
函数获取光标或者选区所在的段落,执行格式化。主要代码如下:
1 | document.addEventListener('keydown',(e)=>{ |
另外,VE 有个插件系统,这个需求通过这个 Gadget 实现应该会更好些。然鹅研究了半天就逐渐失去耐心,主要原因还是找不到方法直接操作文本或者 DOM,只能做些简单的文本替换。这个先这样凑活着用,有时间再去折腾。
elastic · Gerrit Code Review (wikimedia.org)
中英文混排的“Social Distancing” - Fing’s Blog
vinta/pangu.js: Paranoid text spacing in JavaScript (github.com)
View source for MediaWiki:Pangu.js | Fandom Developers Wiki
Adding JavaScript to Wiki Pages - MediaWiki
Bubble notifications - MediaWiki
javascript获取选中的文本/html - ArthurPatten - 博客园 (cnblogs.com)
javascript - JS: Get array of all selected nodes in contentEditable div - Stack Overflow
getselection - How to get selected html text with javascript? - Stack Overflow
]]>前不久搭建了一个wiki站,已经攒了不少内容放在上面。刚刚突然想到没有做备份,万一崩掉就损失惨重了。所以现在的需求是:给Mysql找个定时备份的工具。搜了下现成的轮子,backup.sh这个脚本比较合适,teddysun大神一直在维护中,bug比较少,而且也能同步到Onedrive上。
作者的教程写得很详细,照着操作就可以了,有个小坑在rclone的部署上,远程授权需要在本地机器上间接获取token,否则进行到Waiting for code...
就卡住了。这一点作者在教程的后半部分有提到,然而是在死磕rclone的文档解决这个问题之后才看到的。最后就是设定下cron自动备份,搞定。
这篇教程来自termscp官方文档,终于找到一个可以替代FileZilla/scp/rz/sz的工具了,用choco安装也很方便(我的win10居然已经预装了)。目前发现的槽点包括跳转比较慢,搜索巨慢,还有窗口太小会报错= =! 以下是本文余下内容是官方文档的中文版翻译。
termscp启动时可以使用以下选项:
termscp [options]... [protocol://user@address:port:wrkdir] [local-wrkdir]
-P, --password <password>
登陆密码-c, --config
打开termscp时打开配置页面-q, --quiet
禁用日志-t, --theme <path>
导入自定义主题-v, --version
打印版本信息-h, --help
打开帮助termscp有两种不同的启动模式,不带参数时,termscp将显示登录表单页,用户可以填写连接到远程服务端所需的参数。
或者,用户可以提供一个url作为参数,跳过认证页,直接与远程服务器进行连接。
如果提供了url参数,你也可以提供本地主机的起始工作目录。
地址参数的格式如下:
1 | [protocol://][username@]<address>[:port][:wrkdir] |
让我们通过一些例子熟悉这个特殊语法,它很好上手,你会很快习惯并且替代其他工具……
使用默认协议(在配置中定义)连接到192.168.1.31,如果没有提供端口,则为所选协议的默认端口(取决于你的配置);用户名是系统当前用户名
1 | termscp 192.168.1.31 |
使用默认协议(在配置中定义)连接到192.168.1.31,用户名为root
1 | termscp root@192.168.1.31 |
使用scp连接到192.168.1.31, 端口号为4022; 用户名为 omar
1 | termscp scp://omar@192.168.1.31:4022 |
使用scp连接到192.168.1.31, 端口号为4022; 用户名为 omar
。工作目录为 /tmp
1 | termscp scp://omar@192.168.1.31:4022:/tmp |
你可能已经注意到,url参数中没有办法直接附加密码,你可以通过以下三种方式提供密码:
-P, --password
不推荐:直接在参数中填写明文密码。强烈不推荐这种方法,因为它非常不安全(因为你可能会把密码保留在shell历史记录中)。sshpass
: 你可以通过 sshpass
传入密码, 例如: sshpass -f ~/.ssh/topsecret.key termscp cvisintin@192.168.1.31
scp
、ssh
等比较经典的工具上一样。termscp中的文件资源管理器是指你与远程建立连接后可以看到的面板。
面板由3个部分组成(是的,就这三个):
为了切换面板,你需要输入 <LEFT>
来移动远程资源管理器面板,<RIGHT>
来移动回本地资源管理器面板。当在查找结果面板时,你需要按<ESC>
来退出面板,回到前一个面板。
按键 | 命令 | 助记词 |
---|---|---|
<ESC> | 断开远程连接;回到登录页 | |
<TAB> | 在日志面板和管理器面板之间切换 | |
<BACKSPACE> | 返回上一次目录 | |
<RIGHT> | 切换到远程管理器面板 | |
<LEFT> | 切换到本地管理器面板 | |
<UP> | 在当前列表中向上移动光标 | |
<DOWN> | 在当前列表中向下移动光标 | |
<PGUP> | 在当前列表中光标上移8行 | |
<PGDOWN> | 在当前列表中光标下移8行 | |
<ENTER> | 进入文件夹 | |
<SPACE> | 上传 / 下载选中文件 | |
<A> | 是否显示隐藏文件 | All |
<B> | 按..排序 | Bubblesort? |
<C> | 复制文件(夹) | Copy |
<D> | 创建文件夹 | Directory |
<E> | 删除文件(同 DEL ) | Erase |
<F> | 文件搜索 (支持通配符) | Find |
<G> | 跳转到指定路径 | Go to |
<H> | 显示帮助 | Help |
<I> | 显示选中文件(夹)信息 | Info |
<L> | 刷新当前目录列表 / 清除选中状态 | List |
<M> | 选中文件 | Mark |
<N> | 使用键入的名称新建文件 | New |
<O> | 编辑文件;参考文本编辑器文档 | Open |
<Q> | 退出termscp | Quit |
<R> | 重命名文件 | Rename |
<S> | 另存为… | Save |
<U> | 进入上层目录 | Upper |
<V> | 使用默认方式打开文件 | View |
<W> | 使用指定程序打开文件 | With |
<X> | 运行命令 | eXecute |
<Y> | 是否开启同步浏览 | sYnc |
<DEL> | 删除文件 | |
<CTRL+A> | 选中所有文件 | |
<CTRL+C> | 终止文件传输 |
你可以同时操作多个文件,按<M>
选定它们,或者按<CTRL+A>
全选当前工作目录中的所有文件。一旦一个文件被标记为选择,它将在左边显示一个 *
。在这种模式下,只有选定的文件会被处理,而当前光标高亮显示的项目会被忽略。在查找结果面板中,也可以对多个文件进行处理。
在处理多个文件时,所有的操作都是可用的,但请注意,有些操作的工作方式略有不同。让我们深入了解一下:
启用时,同步浏览将允许你在两个面板之间同步导航操作。这意味着,每当你在一个面板上改变工作目录时,同样的动作会在另一个面板上重现。如果你想启用同步浏览,只需按下<Y>
;按两次就可以禁用。当启用时,同步浏览的状态将在状态栏上显示为ON
。
警告:目前,每当你试图访问一个不存在的目录,你不会被提示创建它。这点可能会在未来的更新中改进。
打开和打开方式的功能是由[open-rs](https://docs.rs/crate/open/1.7.0)提供的。
执行视图命令(<V>
)时,关联该文件类型的系统默认应用程序会被调用以打开当前文件。这依赖于操作系统默认的服务,所以要确保你的系统中至少安装了一个这样的服务:
start
命令。open
命令。Q: 我可以使用V命令编辑远程文件吗?
A: 不可以,至少不能在 “远程管理面板 “上直接操作。你必须先把它下载到本地目录,这是由于当你打开一个远程文件时,该文件会被下载到一个临时目录中,但没有办法监控这个文件的状态,同时也无法得知你用来打开它的程序何时被关闭。也就是说,termscp无法获知你何时完成对该文件的编辑。
在termscp中,你可以保存常用的服务器,随后可以从termscp的主界面中快速连接到这些服务器。termscp也会在历史记录中保存你最后连接的16个主机。这个功能保留了连接到某个远程服务器的所有参数,只需在登录页下方的Tab中选中书签即可。
书签会尝试被保存在以下路径:
$HOME/.config/termscp/
– Linux/BSD$HOME/Library/Application Support/termscp
– MacOsFOLDERID_RoamingAppData\termscp\
– Windows对于书签(不包括服务器连接历史记录)而言,也可以保存用于验证的密码。注意默认情况下不保存密码,必须在保存新书签时通过提示指定密码。
我对在termscp中存储密码的做法非常持保留意见。原因是什么?在你的电脑上保存密码可能会让黑客进入你所注册的任何服务器。但我必须承认,对许多机器来说,每次都输入密码真的很无聊,而且很多时候我必须与局域网内的机器一起工作,这对攻击者来说没有任何好处,所以我想出了一个折衷办法来处理密码。
我强烈建议你遵循这些原则,以决定你是否应该本地保存密码:
请按照以下步骤新建书签:
<CTRL+S>
<ENTER>
提交无论何时你想使用以前保存的连接,只需按下<TAB>
导航到书签列表,然后按<ENTER>
将书签参数加载到表格中。
这是当然 😉。
如前所述,书签与密码一起保存在你的配置目录中。密码显然不是纯文本,它们是用AES-128加密的。这够不够安全?绝对够 (BSD和WSL用户除外😢)
在Windows、Linux和MacOS上,如果可能的话(但应该是),密码会被分别存储在Windows Vault、系统钥匙串和Keychain中。这实际上是超级安全的,并且是由你的操作系统直接管理的。
❗请注意,如果你是一个Linux用户,你真的应该阅读下面的章节👀,因为你的系统可能没有启用或支持钥匙串功能
另一方面,在BSD和WSL上,用于加密密码的密钥是存储在你的驱动器上的(在$HOME/.config/termscp)。那么,仍然有可能检索到密钥来解密密码。幸运的是,密钥的位置保证了你的密钥不能被与你不同的用户读取,但是,是的,我仍然不会为暴露在互联网上的服务器保存密码😉。
我们都喜欢Linux,因为它给了用户自由。作为一个Linux用户,你基本上可以做任何你想做的事情,但这也有一些缺点,比如说,不同的发行版之间往往没有标准的应用程序。这也涉及到钥匙串。
这意味着,在Linux上,你的系统可能没有安装钥匙串。不幸的是,我们用来处理钥匙存储的库需要一个在D-BUS上公开org.freedesktop.secrets
的服务,而最糟糕的事实是,只有两个服务在公开它。
gnome-keyring
提供,一切都应该已经准备就绪了。参照以下步骤,为termscp配置keepassXC:
termscp支持一些用户定义参数,这些参数可以通过配置来修改。
termscp有一个TOML文件和一些其他的目录,所有的参数都会被保存在这些目录中,但是不用担心,你不必手动编辑这些文件,因为我为termscp制作了可交互的用户界面。
termscp和书签一样,只需要保证这些路径是可访问的:
$HOME/.config/termscp/
– Linux/BSD$HOME/Library/Application Support/termscp
– MacOsFOLDERID_RoamingAppData\termscp\
– Windows要访问配置,你只需在termscp的主界面上按<CTRL+C>
。
这些参数可以自定义:
vim
)。也支持GUI编辑器,除非它们从父进程中nohup
。所以,如果这是你的问题:是的,你可以使用notepad.exe
,然而,Visual Studio Code不工作。A
来切换是否显示隐藏的文件。yes
,termscp将通过Github API检查是否有新版本的termscp。Display first
,目录将根据设置的方法排序,但仍显示在文件之前;如果选择 Display last
,则正好相反。配置选项还包括termscp为SFTP/SCP客户端提供的一个必要功能:SSH密钥存储。
你可以从配置中切换到到 SSH Keys
tab页来访问SSH密钥存储,在那里你可以:
<CTRL+N>
,你将被提示创建一个新的密钥。提供主机名/ip地址和与该钥匙关联的用户名,最后会打开一个文本编辑器:将PRIVATE SSH key粘贴到文本编辑器中,保存并退出。<DEL>
或<CTRL+E>
,就可以从 termscp 中永久删除该密钥。<ENTER>
,就可以修改私钥。问:等等,我的私钥受密码保护,也是可以用的吗?
答:当然可以。termscp中提供的认证密码,对用户名/密码认证和RSA密钥认证都有效。
可以为文件浏览器配置自定义的格式,本地和远程主机允许进行单独设定,所以你可以使用两种不同的语法。这些字段的名称为 File formatter syntax (local)
和 File formatter syntax (remote)
,将定义文件条目如何在文件资源管理器中显示。
格式化的语法如下 {KEY1}... {KEY2:LENGTH}... {KEY3:LENGTH:EXTRA} {KEYn}...
。
花括号内的每个键将被替换成相关的属性,而括号外的所有内容将保持不变。
以下是自定义格式支持的键名:
ATIME
: 最后访问时间(默认语法为%b %d %Y %H:%M
);Extra参数可以指定时间显示语法(例如:{ATIME:8:%H:%M}
)CTIME
: 创建时间(语法为%b %d %Y %H:%M
);Extra参数可以指定时间显示语法(例如:{CTIME:8:%H:%M}
)GROUP
: 所属组MTIME
: 最后修改时间(语法为%b %d %Y %H:%M
);Extra参数可以指定时间显示语法(例如:{MTIME:8:%H:%M}
)NAME
: 文件名(超过24个字符的部分会被省略)PEX
: 文件权限(UNIX格式)SIZE
: 文件大小(目录不显示)SYMLINK
: 超链接(如果存在的话-> {FILE_PATH}
)。USER
: 所属用户如果留空,将使用默认的格式化语法。{NAME:24} {PEX} {USER} {SIZE} {MTIME:17:%b %d %Y %H:%M}
。
Termscp为你提供了一个很棒的功能:可以为应用程序中的几个组件配置颜色。
如果你想自定义termscp,有两种可用的途径:
为了从termscp创建你的私人定制,你所要做的就是从auth活动页进入配置,按<CTRL+C>
,然后<TAB>
两次。你现在应该已经移到了 themes
面板。
在这里你可以用<UP>
和<DOWN>
移动来选择你想改变的样式,如下图所示:
termscp支持传统的十六进制(#rrggbb
)和RGBrgb(r, g, b)
语法来表示颜色,但也接受 **css颜色**(如crimson
)😉。还有一个特殊的关键词是Default
,意味着使用的颜色将是基于情景的默认前景或背景颜色(文本和线条的前景色,以及容器的背景色,你猜是什么)。
如前所述,你也可以导入主题文件。你可以从themscp提供的主题中获取灵感或直接使用其中的一个,位于这个代码仓库的themes/
目录下,运行themscp以导入它们 termscp -t <theme_file>
。最后,如果一切正常,它应该提示你主题已经成功导入。
你可以在下面的表格中找到每个样式字段的描述。
请注意,样式在配置页面不起作用,以保证它总是可以访问,以防你把一切都弄乱了。
字段 | 描述 |
---|---|
auth_address | IP地址输入框的颜色 |
auth_bookmarks | 书签面板的颜色 |
auth_password | 密码输入框的颜色 |
auth_port | 端口输入框的颜色 |
auth_protocol | 协议选项组的颜色 |
auth_recents | 历史记录面板的颜色 |
auth_username | 用户名输入框的颜色 |
字段 | 描述 |
---|---|
transfer_local_explorer_background | 本地资源浏览器的背景色 |
transfer_local_explorer_foreground | 本地资源浏览器的前景色 |
transfer_local_explorer_highlighted | 本地资源浏览器的边框和高亮色 |
transfer_remote_explorer_background | 远程资源浏览器的背景色 |
transfer_remote_explorer_foreground | 远程资源浏览器的前景色 |
transfer_remote_explorer_highlighted | 远程资源浏览器的边框和高亮色 |
transfer_log_background | 日志面板的背景色 |
transfer_log_window | 日志面板的窗口颜色 |
transfer_progress_bar_partial | 进度条完成部分颜色 |
transfer_progress_bar_total | 进度条背景色颜色 |
transfer_status_hidden | 状态栏 “hidden” 标签的颜色 |
transfer_status_sorting | 状态栏 “sorting” 标签的颜色;同时适用于文件排序对话框 |
transfer_status_sync_browsing | 状态栏 “sync browsing” 标签的颜色 |
以下这些样式会在程序不同的位置起作用:
字段 | 描述 |
---|---|
misc_error_dialog | 报错信息的颜色 |
misc_input_dialog | 输入对话框的颜色(比如拷贝文件时) |
misc_keys | 键盘输入文字的颜色 |
misc_quit_dialog | 退出窗口的颜色 |
misc_save_dialog | 保存窗口的颜色 |
misc_warn_dialog | 警告窗口的颜色 |
Termscp有很多功能,你可能已经注意到了,其中之一就是可以查看和编辑文本文件。不管文件是在本地主机还是在远程主机上,termscp都提供了在你喜欢的文本编辑器中打开文件的功能。
如果文件位于远程主机上,该文件将首先被下载到你的临时文件目录中,然后,只有在对该文件进行了修改的情况下,才会重新上传至远程主机上。
多说一句,你只能编辑文本文件;二进制文件是不可以的。
文本编辑器是通过awesome crate自动查找的,如果你想改变默认的文本编辑器,请在termscp配置中改变它。阅读更多
termscp会为每个会话创建一个日志文件,该文件在
$HOME/.config/termscp/termscp.log
– Linux/BSD$HOME/Library/Application Support/termscp/termscp.log
– MacOsFOLDERID_RoamingAppData\termscp\termscp.log
– Windows日志不会滚动,只是在每次启动 termscp 后被截断,所以如果你想报告一个问题并想附上你的日志文件,再次启动 termscp 之前请先将日志文件保存在一个安全的地方。日志文件总是以trace级别报告,所以它有点冗长。我知道你可能有一些关于日志文件的问题,所以我做了一个Q/A:
有没有可能降低日志级别?
不可以,原因很简单:当一个问题发生时,你必须能够知道是什么原因造成的,而唯一的办法就是在日志文件中设置记录最多的细节。
如果日志级别设置为trace,会产生很大的文件吗?
应该不会,除非你从不退出termscp,但我认为这很可能发生。一个长的会话可能会产生高达10MB的日志文件(我说的是一个长的会话),但我认为一个正常的会话不会超过2MB。
我不希望有日志记录,我可以把它关掉吗?
可以的。只要用-q or --quiet
选项启动termscp。你可以用别名来启动termscp从而使这个选项一直生效。记住,日志是用来诊断故障的,所以在每个开源项目的背后,都应该有这样的互动反馈,保留日志文件可能是你支持项目的途径😉。我不想让你感到内疚,只是想提一句。
日志是安全的吗?
如果你担心安全问题,日志文件不包含任何普通的密码,所以不用担心,它暴露的信息与同级文件 书签
报告的信息相同。
不得不说mediawiki用来收集整理资料真的非常合适,除了后端需要PHP环境这一个缺点,几乎挑不出什么毛病,无论自用还是团队协作都很好上手。除了最基本的纯文本编辑,模板功能也是一大亮点。最近在阶段性地收集公众号文章,借助Cargo和TemplateData可以实现一个很cool的功能:每个条目按照预设的表单录入。这样既保证了录入效率和完整性,也方便后续查找。
用了一段时间发现一个小问题:每次用模板录入的时候只能手动输入文本,TemplateData不支持多选或者时间选择器。一番搜索,发现最新的TemplateData插件已经在开发版加入了这个功能,同时还需要更新VisualEditor。试着手动替换最新版插件,编辑模板时新增了建议值一栏,然而启动VE时却被告知master分支现在只支持1.37版本的Mediawiki。
纠结了半天,无奈下拉栏诱惑力实在太强,还是下狠心来个大更新。官网提供了两种安装开发版的方式,下载压缩包直接覆盖或者git拉取。考虑到可能要测试不同的低版本,还是选择了后者。因为是从最近的1.36升上去,需要改动的地方并不多,按照文档一步一步操作。首先扫一眼Release Note,然后是UPGRADE文件。要注意以下几点:
不要直接拉mediawiki全仓库,过程会慢的你想哭,我们只需要主分支和最新几个commit。拉取完先更新下子模块,此外还需要composer。
1 | git clone --depth 3 --branch master https://gerrit.wikimedia.org/r/mediawiki/core.git public |
除了VE之外的所有插件文件夹中的内容都复制过来,然后是皮肤文件夹,LocalSettings.php
文件。对于VE我们从git拉取。images文件夹复制过来后需要改下文件权限chown -R www-data:www-data images
,最后去maintenance文件夹运行更新php update.php
Timeless皮肤似乎有些不兼容,nginx一直记录warning,所以替换为git拉取的开发版。
VE拉取完之后还有一个步骤,更新子模块:git submodule update --init
会出现各种奇奇怪怪的问题,比如前端报错,VE报错,总之一通重启,逐个排除,终于跑通了流程
很可惜还是TemplateData还是不支持Time picker等高级组件,不过也可以用下拉框曲线救国,预设成类似2021-09-
这种,然后手动加上日份,机智如我~
9.13更新
事情比我想象的还是要复杂些,通过上述操作,只有当vitrualEditor可用的时候,页面没有刷新,切换到VE的master分支并原地刷新页面才能看到上面的截图,只要关闭页面重开或者点到其他页面再返回,VE就会报错Error contacting the Parsoid/RESTBase server (HTTP 404)
。就这个问题又纠结了好久,各种方法试遍了都没用,只有切换回REL1_36
才能顺利打开VE,然而这样的话多选框就没有了,白折腾。为了VE不至于废掉,只能很不爽地切换回旧版。
今天无意中瞟了一眼VE的安装文档,无意中发现这样一句话”You must follow the instructions on the Parsoid page to configure Parsoid if you are installing VisualEditor from git”,原文还加粗显示了,然鹅一直被我忽略。。。顺着文档拉取parsoid(我放在了extensions文件夹,注意填绝对路径),在LocalSettings.php
中做好相应配置,检查nginx配置(居然已经填好了rest.php的规则,之前复制粘贴没有去琢磨每条规则的作用),VE切换回master分支,运行。多选框又回来了!尝试切换页面,一切正常。
所以这件事告诉我们:仔细读文档是多么重要~~
最近把mediawiki装到了小VPS上,先用IP访问着还算正常,偶尔会抽风无法访问(丢包太狠啊,我也想上搬瓦工啊),后续想办法弄到备案的子域名就可以用CDN加速了。看到有高级搜索功能,犹豫半天还是没忍住开始折腾。
根据网友提供的经验,1c1g的菜服貌似也可以拉得动elasticsearch。顺利装好两个插件,然后是elasticsearch。准备仔细看网友是如何解决内存不足问题的时候,恍然发现自己已经掉坑里了:
最新的7.14版本是可以跑在1g内存上了,然而当前的CirrusSearch并不兼容
如果要降级到6.x要考虑残留不说,内存也可能会爆,或者被迫忍受长时间的无响应
简直就是顺着作者描述的坑在踩一遍。这个事情告诉我们:踩坑需谨慎,看完帖子再动手。
然而并不想就此放弃。很惊喜的在CirrusSearch代码仓库发现这样一条commit message:
[WIP] Upgrade to elasticsearch 6.8.18 To prepare for elastic 7 we need to get everything up to the latest release of 6, which produces all the necessary deprecation messages. Mostly untested, it only passes the test suite.
看到画粗线的地方没有?维护人员一直在努力适配新版!这条信息发布日期是8月11号,所以还是可以期待一下的。开源社区YYDS,奥力给~~
那么就放到这里,等兼容之后再继续折腾吧。
Mediawiki + Elasticsearch | 书脊 (chenguanghe.com)
[WIP] Upgrade to elasticsearch 6.8.18 (I2432c2f4) · Gerrit Code Review (wikimedia.org)
为MediaWiki安装高级搜索(AdvancedSearch)插件 - 知乎 (zhihu.com)
Install Elasticsearch with Debian Package | Elasticsearch Guide 7.14 | Elastic
]]>