首页 > 网站运营 > > 正文
进入 域名交易资讯论坛

让.Text的搜索引擎支持二级域名

作者:    来源:sina   更新时间:05-18点击:评论:0

  最近在做.Text Blog的Wap版,因为手机上输入比电脑上更难,所以,如果用户手动输入地址访问Blog的话,会对没有意义又繁长的URL非常反感,所以,花了点时间做了.Text对二级域名的支持并对其地址分析功能做了些优化,可是做好后发现,.Text的搜索引擎并不支持这种域名方式,没办法,只好对它的搜索引索又动了点小手术。(博客园现在有点慢啊)kzR中国域名交易资讯网
  1、对Web.config的修改:kzR中国域名交易资讯网

  <SearchConfiguration type="Dottext.Search.SearchConfiguration, Dottext.Search" urlFormat="http://{1}{0}/Blog/{2}/{3}.aspx"       virtualPath="~/SearchIndex" physicalPath="D:\Code\MSS1\Blog\DotTextWeb\SearchIndex" domains=".tzl.com"kzR中国域名交易资讯网
        pageSize
="20" />
kzR中国域名交易资讯网

其中http://{1}{0}/Blog/{2}/{3}.aspx中的Blog是你的应用程序名,比如你的程序在www.blog.com/blog下,注意domains不要加上www之类的kzR中国域名交易资讯网
kzR中国域名交易资讯网

  2、将Dottext.Search.EntryData类的CreateDoc(IDataReader reader)方法改成这样kzR中国域名交易资讯网
   private Document CreateDoc(IDataReader reader)kzR中国域名交易资讯网
        
{kzR中国域名交易资讯网
           
//Null values are not allowed in the indexkzR中国域名交易资讯网
            kzR中国域名交易资讯网
            Document doc 
= new Document();kzR中国域名交易资讯网
            
trykzR中国域名交易资讯网
            
{kzR中国域名交易资讯网
                doc.Add(Field.Text(SearchConfiguration.Author,(
string)reader["Author"]));kzR中国域名交易资讯网
kzR中国域名交易资讯网
                doc.Add(Field.Text(SearchConfiguration.Title,(
string)reader["Title"]));kzR中国域名交易资讯网
kzR中国域名交易资讯网
                
string body = (string)reader["Text"];kzR中国域名交易资讯网
                doc.Add(Field.UnIndexed(SearchConfiguration.Body,body));kzR中国域名交易资讯网
                doc.Add(Field.Text(SearchConfiguration.Link,
string.Join(" ",GetLinks(body))));kzR中国域名交易资讯网
                doc.Add(Field.Text(SearchConfiguration.RawPost,regexStripHTML.Replace(body,
string.Empty)));kzR中国域名交易资讯网
kzR中国域名交易资讯网
                DateTime dateCreated 
= (DateTime)reader["DateAdded"];kzR中国域名交易资讯网
                doc.Add(Field.UnIndexed(SearchConfiguration.DateCreated,dateCreated.ToLongDateString()));kzR中国域名交易资讯网
kzR中国域名交易资讯网
                
string app = (string)reader["Application"];kzR中国域名交易资讯网
                doc.Add(Field.Text(SearchConfiguration.Blog,app));kzR中国域名交易资讯网
kzR中国域名交易资讯网
                
//Do we really need this?kzR中国域名交易资讯网
                
//doc.Add(Field.Text(SearchConfiguration.Description,reader["Description"].ToString()));kzR中国域名交易资讯网
kzR中国域名交易资讯网
                
string host = (string)reader["Host"];kzR中国域名交易资讯网
                doc.Add(Field.Text(SearchConfiguration.Domain,host));kzR中国域名交易资讯网
kzR中国域名交易资讯网
kzR中国域名交易资讯网
                
int posttype = (int)reader["PostType"];        kzR中国域名交易资讯网
                doc.Add(Field.UnIndexed(SearchConfiguration.PostType,posttype.ToString()));kzR中国域名交易资讯网
kzR中国域名交易资讯网
                
string permaLink  = null;kzR中国域名交易资讯网
                SearchConfiguration searchConfig 
= SearchConfiguration.Instance();kzR中国域名交易资讯网
                
if((PostType)posttype == PostType.BlogPost)kzR中国域名交易资讯网
                
{kzR中国域名交易资讯网
                    
//permaLink = string.Format(SearchConfiguration.Instance().UrlFormat,host,app, "archive/" + dateCreated.ToString("yyyy'/'MM'/'dd"),reader["EntryID"]);kzR中国域名交易资讯网
                    permaLink = string.Format(searchConfig.UrlFormat,searchConfig.Domains,app, "archive/" + dateCreated.ToString("yyyy'/'MM'/'dd"),reader["EntryID"]);kzR中国域名交易资讯网
                }
kzR中国域名交易资讯网
                
else if((PostType)posttype == PostType.Comment)kzR中国域名交易资讯网
                
{kzR中国域名交易资讯网
                    permaLink 
=    reader["SourceUrl"].ToString()+"#"+reader["EntryID"].ToString();kzR中国域名交易资讯网
                }
kzR中国域名交易资讯网
                
elsekzR中国域名交易资讯网
                
{kzR中国域名交易资讯网
                    
//permaLink = string.Format(SearchConfiguration.Instance().UrlFormat,host,app, "articles",reader["EntryID"]);kzR中国域名交易资讯网
                    permaLink = string.Format(searchConfig.UrlFormat,searchConfig.Domains,app, "articles",reader["EntryID"]);kzR中国域名交易资讯网
                }
kzR中国域名交易资讯网
kzR中国域名交易资讯网
                
int feedbackCount = (int)reader["FeedbackCount"];kzR中国域名交易资讯网
                
int webviewCount = (int)reader["WebViewCount"];kzR中国域名交易资讯网
kzR中国域名交易资讯网
                
int boost = weighter.Calculate(body.Length,feedbackCount,webviewCount,dateCreated,(PostType)posttype);kzR中国域名交易资讯网
                doc.SetBoost(boost);kzR中国域名交易资讯网
kzR中国域名交易资讯网
                doc.Add(Field.UnIndexed(SearchConfiguration.BoostFactor,boost.ToString()));kzR中国域名交易资讯网
kzR中国域名交易资讯网
                doc.Add(Field.UnIndexed(SearchConfiguration.PermaLink,permaLink));kzR中国域名交易资讯网
            }
kzR中国域名交易资讯网
            
catch(Exception e)kzR中国域名交易资讯网
            
{kzR中国域名交易资讯网
                Dottext.Framework.Logger.LogManager.Log(
"CreateDoc Fail","EntryID is "+reader["EntryID"]);kzR中国域名交易资讯网
            }
kzR中国域名交易资讯网
            kzR中国域名交易资讯网
            
return doc;kzR中国域名交易资讯网
        }
kzR中国域名交易资讯网

 
评论】【加入收藏夹】【打印】【关闭
  • 上一篇文章:下面没有链接了

  • 下一篇文章:建站要坚持

  • 频道最新
    热门排行