wangsisi 发表于 2011-6-10 09:26:47

在windows下装mediawiki搜索增强扩展Lucene-search

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文件

wikidb: (single) (spell,4,2) (language,en)
把en 改为 zh       即:修改使用语言为中文zh

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


页: [1]
查看完整版本: 在windows下装mediawiki搜索增强扩展Lucene-search

美国HostEase虚拟主机一年198元