|
mediawiki对中文搜索支持很弱,常常在搜索结果中出现许多不匹配的页面,可以通过安装搜索增强扩展Lucene-search来解决
注意:安装l.search的逻辑盘必须是NTFS格式,否则不支持
0、把php程序的文件夹添加到电脑的环境变量的路径中去
{必须添加,不然不能构建索引,刚才在环境变量路径中删除;d:\Program Files\xampp\php导致无法建立索引}
1、先修改config.bat
java -cp LuceneSearch.jar org.wikimedia.lsearch.util.Configure F:\work\web\docRoot\w 这是我的config
你把最后的参数改成你的mediawiki主文件夹
{路径不能有空格,即使打引号也不行,因为要传递参数}
2、然后运行config
3、打开config.inc以及config.inc.bat
对比其中的内容,修改config.inc.bat
根据config.inc的参数设置,修改config.inc.bat
4、打开lsearch.conf
修改MWConfig.global
MWConfig.global=file://D:\MyWeb\ls/lsearch-global.conf
将其中的\改成/ 并且:file://后面还要加一个/ 即:file:后面改成三个/
MWConfig.global=file:///D:/MyWeb/ls/lsearch-global.conf
修改Localization.url
Localization.url=file:///d:/MyWeb\mediawiki/languages/messages
将其中的\改成/ 并且:file://后面还要加一个/ 即:file:后面改成三个/Localization.url=file:///d:/MyWeb/mediawiki/languages/messages
修改Indexes.path
Indexes.path=F:\work\web\lucene-search-2.1\indexes
在每个\后加一个\ 原因可能是java读取\\转义为一个\
Indexes.path=F:\\work\\web\\lucene-search-2.1\\indexes
修改Logging.logconfig
Logging.logconfig=D:\MyWeb\ls\lsearch.log4j
将其中/改成\ 即:每个\要变成两个\ 即 \\
Logging.logconfig=D:\\MyWeb\\ls\\lsearch.log4j
5、打开安装目录下的hostname文件
修改hostname
hostname=bolang
xp系统查询时,请用dos命令:hostname
6、修改lsearch-global.conf文件
[Database]
wikidb: (single) (spell,4,2) (language,en)
把en 改为 zh 即:修改使用语言为中文zh
[Database]
wikidb: (single) (spell,4,2) (language,zh)
7、如果都改好了,进入command
输入:build.bat
8、修改lsearchd.bat文件
主要修改环境变量,设成你的安装环境
set jardir=D:/MyWeb/ls
set HOSTNAME=bolang
9、最后启动lsearchd.bat
不能关闭lsearchd.bat启动的cmd窗口
10、装上mwSearch扩展
下载mwSearch扩展并解压到extensions里
在LocalSettings.php最后添加下面代码
$wgSearchType = 'LuceneSearch';
$wgLuceneHost = '192.168.1.2';
$wgLucenePort = 8123;
require_once("extensions/MWSearch/MWSearch.php");
# uncomment this if you use lucene-search 2.1
# (MUST be AFTER the require_once!)
$wgLuceneSearchVersion = 2.1;
FAQ:
在操作到7、的时候,可能出现的问题
在运行build.bat 构建索引的时候,出现的问题:
DB connection error: Access denied for user ''@'localhost' to database 'wikidb'
(localhost)
原因为没有得到wiki的维护数据库的用户名,所以不能进入:
到wiki的根目录,找到AdminSettings.sample
将其拷贝成AdminSettings.php 同时也放在这个wiki根目录
AdminSettings.php 文件中:
$wgDBadminuser = 'wikiadmin';是维护用户名
$wgDBadminpassword = 'adminpass';是密码
解决方法1:
在mysql里面创建这个用户和密码
wikiadmin adminpass
并且授权可以全权存取wikidb
解决方法2:
把维护用户名和密码改成和mediawiki里数据库的用户名和密码
$wgDBadminuser = 'root';
$wgDBadminpassword = '123';
即:root 123
重新运行build.bat
|
|