如何配置搜索功能

上一个版本的搜索功能代码中有一个小错误(9月1日14:20之前下载的), 需要纠正过来, 纠正方法:
方法一、重新下载新版本
方法二、手动更新代码文件, 下载地址:  http://www.cnblogs.com/Files/dudu/EntryData.rar ,解压后替换Dottext_CNBlogs\DotText.Search中的EntryData.cs文件, 重新编译, 注意: 在解决方案配置属性中, 将Dottext.Search的“生成”属性选上。
方法三、手动更新Dottext_CNBlogs\DottextWeb\bin中的DotText.Search.dll, 下载地址:  http://www.cnblogs.com/Files/dudu/DotText.Search.rar

配置步骤:
1、建立存放索引文件的文件夹, 比如默认的DottextWeb\SearchIndex
2、修改Web.config中SearchConfiguration的设置:

<SearchConfiguration type="Dottext.Search.SearchConfiguration, Dottext.Search" urlFormat="http://{0}/{1}/{2}/{3}.aspx"
        virtualPath
="~/SearchIndex" physicalPath="SearchIndex" domains="localhost"
        pageSize
="20" />

virtualPath:索引文件的虚拟路径
physicalPath: 索引文件的绝对路径
domains: 主机名, 与AggregateHost设成一样
pageSize: 搜索结果每页显示的文章数
注: 如果.Text安装在虚拟目录下, urlFormat="http://{0}/{1}/{2}/{3}.aspx"应该改成urlFormat="http://{0}/虚拟目录名/{1}/{2}/{3}.aspx"
3、配置Web.config中的<Events>

<!--<Event type = "Dottext.Search.SearchEngineSchedule, Dottext.Search" minutes = "5" key = "SearchEngine" />-->

取消上面的注释符号, 修改minutes的值, minutes代表建立索引的时间间隔(分种)
4、配置完成。通过检查索引文件夹中是否出现索引文件, 确定是否成功建立索引
注: 建立索引是增量建立, 不是每次全部重建, 这样减轻了服务器的负荷。 
posted @ 2004-09-01 14:58 dudu 阅读(4947) 评论(30)  编辑 收藏

  回复  引用  查看    
#1楼 2004-09-01 15:27 | clasky.com [未注册用户]
安装成功了!
但是,有个问题:

搜索关键词是英文的时候,没有问题!

如果是中文,好像关键词的编码就乱掉了。。导致不能正确搜索!
  回复  引用  查看    
#2楼 2004-09-01 22:54 | 缸水桶      
dudu:我使用的是方法三,webconfig也配置了,但是还是不能正确搜索,SearchIndex目录下也没有文件生成,中文还是乱码。
  回复  引用  查看    
#3楼 2004-09-01 23:11 | dudu      
对中文乱码的处理方法:
将web.config中的<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>改成<globalization />
physicalPath要设置成绝对路径: "F:\..\"这样的格式
  回复  引用  查看    
#4楼 2004-09-02 08:25 | clasky.com [未注册用户]
在DUDU的倾力指导下,终于装好了!!

搜索速度挺快的!
  回复  引用  查看    
#5楼 2004-09-02 10:33 | dudu      
如果.Text安装在虚拟目录下, urlFormat="http://{0}/{1}/{2}/{3}.aspx"应该改成urlFormat="http://{0}/虚拟目录名/{1}/{2}/{3}.aspx"
  回复  引用  查看    
#6楼 2004-09-04 10:16 | 网际飞狐      
我的为什么出现以下错误:
将截断字符串或二进制数据。语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。语句已终止。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

  回复  引用  查看    
#7楼 2004-09-04 21:46 | dudu      
索引没有正确建立。
  回复  引用  查看    
#8楼 2004-09-05 21:31 | 缸水桶      
索引已经建立了,中文也没有乱码,但是还是搜索不到东西!
添加收藏的时候出现如下错误:

[NullReferenceException: 未将对象引用设置到对象的实例。]
   Dottext.Web.Admin.Pages.EditFavorite.ResetPostEdit(Boolean showEdit) +133
   Dottext.Web.Admin.Pages.EditFavorite.lkbNewLink_Click(Object sender, EventArgs e) +10
   System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +108
   System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +138
   System.Web.UI.Page.ProcessRequestMain() +1277

 

  回复  引用  查看    
#9楼 2004-09-06 00:04 | 缸水桶      
可以搜索啦!谢谢dudu。
但是添加收藏文文章还是出错!
  回复  引用  查看    
#10楼 2004-10-07 17:27 | sharpcn [未注册用户]
终于搞定了.
  回复  引用  查看    
#11楼 2004-10-07 17:29 | sharpcn [未注册用户]
好多天没调blog 今天又拿来调居然就全部好了 哈哈
  回复  引用  查看    
#12楼 2004-11-29 16:25 | 网际浪子 [未注册用户]
DUDU您好,我现在的问题又成了如何配置搜索了,我按照你上面说的,也建目录了,也改WEB.CONFIG 了,可在目录下没有文件产生呀?它是什么时间产生文件呀?是我要搜索的进候吗?还是配置完就产生了?能不能说的详细点?谢谢!

我现在的错误就是:

我的为什么出现以下错误:
将截断字符串或二进制数据。语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。语句已终止。


  回复  引用  查看    
#13楼 2004-11-29 17:17 | 网际浪子 [未注册用户]
我等了一会再去运行一下,发现在目录下有文件了,不过搜索不出任何的东西,不论输入什么进行搜索都是0条记录,我错在哪里了呢?请指教。
  回复  引用  查看    
#14楼 2004-11-30 10:41 | 网际浪子 [未注册用户]
真是奇怪了,昨天明明不好用的,今天再试居然好用了???还支持中文???我倒??到底是为了什么呀?真的好用了!!!感谢DUDU
  回复  引用  查看    
#15楼 [楼主]2004-11-30 10:53 | dudu      
可能是搜索时, 索引还没有完全建立好。
  回复  引用  查看    
#16楼 2005-02-18 20:12 | x [未注册用户]
如何配置搜索功能

Web.config??
DottextWeb\SearchIndex???


thank you!
  回复  引用  查看    
#17楼 2005-02-24 01:15 | wenjz [未注册用户]
SqlException: 将截断字符串或二进制数据。语句已终止。

  回复  引用  查看    
#18楼 2005-03-10 09:42 | CityHunter [未注册用户]
请问: sharepoint是否支持中文单字搜索?
例如:在"早安黄先生"中,搜索"黄"是不行.
但在"早安 黄 先生"中,便可.

请问如何解决?

谢谢.




  回复  引用  查看    
#19楼 2005-05-25 17:12 | 没病真好 [未注册用户]
如何触发索引生成事件?

配置完了文件夹里没有索引文件
  回复  引用  查看    
#20楼 [楼主]2005-05-25 18:24 | dudu      
请看web.config中的
<Event type = "Dottext.Search.SearchEngineSchedule, Dottext.Search" minutes = "5" key = "SearchEngine" />
  回复  引用  查看    
#21楼 2005-05-30 11:35 | 赵伟 [未注册用户]
将截断字符串或二进制数据是blog_log表中的message字段太小,以及insert_log存储过程的message变量太小,将其调大即可。
  回复  引用  查看    
#22楼 2005-06-27 08:32 | My Heart Fly      
我安装cnblog,进行站内搜索时,总是返回0 项查询结果,那里的问题?

高级搜索: 标题-"title:" 内容-"body:" 博客名-"blog:" 作者-"author:"

如何进行高级搜索的,上面的看不明白
  回复  引用  查看    
#23楼 [楼主]2005-06-27 13:45 | dudu      
title:表示在标题中搜索。
  回复  引用  查看    
#24楼 2005-06-28 08:27 | shineit [未注册用户]
我输入
title:xxxx
就是查找标题为xxxx的日志?

我在电脑上试着输入
xxxx

title:xxxx

还是返回0 项查询结果
好像查找任何已有的数据,都是为0


  回复  引用  查看    
#25楼 2005-08-08 15:31 | softeer [未注册用户]
还是搜索的问题


从站点首页搜索,始终出现提示:

"正在建立索引,请稍候再试!"

从个人blog搜索,出现错误:

"Access to the path "C:\SearchIndex\segments" is denied."

数据库中log记录:


155 Search Fail "
UnauthorizedAccessException
Access to the path ""C:\SearchIndex\segments"" is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String str)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Lucene.Net.Store.FSInputStream..ctor(FileInfo path)
at Lucene.Net.Store.FSDirectory.OpenFile(String name)
at Lucene.Net.Index.SegmentInfos.Read(Directory directory)
at Lucene.Net.Index.IndexReaderLockWith.DoBody()
at Lucene.Net.Store.With.Run()
at Lucene.Net.Index.IndexReader.Open(Directory directory)
at Lucene.Net.Index.IndexReader.Open(String path)"


请指教
  回复  引用  查看    
#26楼 2005-08-16 23:44 | 湘子      


dudu


现在博客园 的索引文件大概有多大~

是设置每隔多久建立呢

我把搜索功能配置好
发现索引文件占的体积很大


现在设置建立索引间隔为 60分钟
  回复  引用  查看    
#27楼 2005-08-16 23:51 | 湘子      

补充:
这个对google搜索到博客有没有帮助 呵???

  回复  引用  查看    
#28楼 [楼主]2005-08-17 19:56 | dudu      
@湘子
索引文件应该与你的数据库差不多大。
这个对Google搜索没有任何帮助。
  回复  引用  查看    
#29楼 2006-07-12 10:59 | keb [未注册用户]
@网际浪子
我的现在的问题也是这样的....索引文件也有简历...可是就是搜什么都是0条记录???
  回复  引用  查看    
#30楼 2006-12-16 21:53 | baxiqiuxing [未注册用户]
我现在改变了webconfig中physicalPath的设置,然后在使用搜索的话,会因找不到索引文件而报错,但是我把原来的索引文件考到新指定的目录下,也还是报错,想问下dudu,有什么办法可以重建索引

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2004-09-02 10:34 编辑过
 
向地震灾区捐赠爱心