在使用dedecmsCMS时,许多人会发现其默认的搜索功能存在一个问题:当输入的关键词字数超过3个时,系统会自动启动分词功能。例如,搜索“大牙居士”时,结果不仅会显示包含“大牙居士”的内容,还会显示与“大牙”或“居士”相关的条目。对于需要精确搜索的用户来说,这种设计可能会带来困扰。

 

那么,如何解决这个问题呢?以下将介绍一种简单的方法来关闭dedecmsCMS的分词搜索功能。

 

第一步,我们需要打开dedecmsCMS的include目录,找到名为arc.searchview.class.php的文档搜索类文件。
dedecmsCMS搜索页去掉分词搜索功能的小方法

 

接下来,在该文件中定位到注释为“//获取关键字SQL”的部分。具体位置可以通过搜索相关注释快速找到。
dedecmsCMS搜索页去掉分词搜索功能的小方法

 

在找到的代码段中,您会看到一个变量$this->Keywords。为了实现精确搜索,我们需要对这个变量进行修改,具体操作是将“Keywords”中的“s”去掉,改为“Keyword”。以下是修改后的代码示例:


// 获取关键字SQL
$this->Keyword = ... // 修改后的代码
    

 

完成上述修改后,请确保保存文件并重新上传到服务器(如果是在本地编辑的话)。至此,您已经成功关闭了dedecmsCMS的分词搜索功能。

 

最后,再次测试搜索功能,您会发现现在输入“大牙居士”时,系统只会返回与“大牙居士”完全匹配的结果,而不会再额外显示“大牙”或“居士”相关的条目。

dedecmsCMS搜索页去掉分词搜索功能的小方法

 

通过以上步骤,您可以轻松优化dedecmsCMS的搜索体验,使其更符合实际需求。希望这篇文章能帮助到正在为此问题苦恼的朋友们!