asp.net如何获得关键字相关的网页
什么控件无所谓,主要是自己可以定义一个高亮显示的方法。
这是我做的一个用来显示搜索关键字高亮显示的方法。
public string ReplaceLike(string Cent, string Like)
{
return Regex.Replace(Cent, "(.*?)(.{0,10})" + Like + "(.{0,10})(.*)", "$2" + Like + "$3");
}
其中Cent可以用你的S1表示,Like可以用你的S2表示。主要是改变字体颜色与字号,可根据自己需求调整。
在数据库添加一个标签表;
添加文章的时候,可以选择输入标签,然后把填写的标签插入到数据库里面,
前台显示的时候,读取标签表里面的部分标签
(根据你的要求来,比如热度最高的30个,
或者分类相关的10个,这些在你创建标签表的时候,增加相对于的字段。
)
读取标签之后,标签对应的链接,可以做成搜索结果链接。
比如百度的是这样的
https://www.baidu.com/s?ie=UTF-8&wd=%E6%A0%87%E7%AD%BE
首先,你需要有3种机器(数量上先不提),第一个是像Apache, IIS的网站服务器提供用户搜索的界面,另一个是超级庞大的数据库来提供所有网站的数据,另一种就是最重要的获取信息并处理存入数据库的“引擎”。主要讲讲引擎。
其实这个引擎没有什么特别的是,从最小的IP段,如11.0.0.1一直到最大的IP段如223.99.99.1。当然这里应该只去搜索80端口。如何搜索页面?这里可以用C或JAVA语言原始crawler,这是最著名的了。另外在.NET里可以用强大的WebHttpRequest, WebHttpResponse来读取页面的HTML内容。下面是处理的逻辑。
首先是把网页的的首页HTML读出来,再分析里面的有用信息,最重要的可以说就是<a>和sitemap了,可根据<a>在深入分析其他页面。另外内容很重要,标题<h1><h2>也很重要。当然<meta>的关键字也有点用,但GOOGLE好像对META不感兴趣。这里一定要遵循一些规则(就像google的page rank系统),下面举机个规则的例子:
1. 如果一个站,连到它的都是大网站(如Sun, Microsoft等),那这个网站的分数一定很高,就更有几率在所在其所相关的关键词中搜索出来。如果有成千上万的网站<a>到这个网站,那么说明他是官方像Sun, Microsoft的网站!
2. 如果一个站,内容(也就是大面积的文字)是最原创唯一的,那么,分数就高。有的站,虽然内容不唯一,但出现时间最早,那么分数也高。
3. 如果一个站,内容很多,而且关联性(比如全关于同一个地域、同一个知识)很强,而且必须要在<a>中连接了(不然读不到),那么分数也高。
4. 用GOOGLE举例,GOOGLE有美国、新加坡、中国、印度。那么访问者在不同的地域搜索的网站排名也不同。也就是要记录这个网站的服务器IP是哪个国家、城市的。
5. 重大节日前后,GOOGLE有一轮搜索,能判断这个网站是不是活跃的,从而调整排名。
6.在各个类型的目录网站(website directory,如DimoZ,Yahoo Directory)中,如果一个网站能在大多数目录中找到,那么她的排名也应该高。也就是你要知道所有可信的目录网站,然后查找该目标网站在目录网站有记录。不过这种目录网站恐怕有上万个。
7. 对于进入前100名的特别分析。对于进入前5名的网站,要进行更加特别的分析,包括有没有作弊等。
数据库这要记录其相关的关键词,域名,服务器地点,pagerank等等的信息,很复杂,这里没有像过具体怎么实现。但听说并不是用现在广泛应用的relational database,而是用Full Text search这种方法的数据库。
在Web 2.0盛行的今天,Ajax的动态HTML TAG(如DIV), JavaScript,Flash已经让所搜引擎技术上加大了挑战。说不定,楼主还需要研究一个能分析执行JavaScript变化后的HTML的library。FLASH目前没有任何办法来分析,这也就是Flash那么美但却仅仅能用于小局部设计的原因。
注意,这些功能全是机器智能的,没有人工做任何东西,不能靠人手动删除、添加等!
SEO东西很多。GOOGLE的特别搜索设计最以开始只是2个大学生的想法,没有实现,后来有机会实现真是不容易,而且几年间股票价格、IT界影响力已将超过早GOOGLE搜索几年的YAHOO搜索。当然GOOGLE科学家很多,他们的技术一直在提高!可以看下参考资料,是关于GOOGLE的。
利用webrequest获取网页内容,并查找相关字段.但需要强大的群集服务器
首先需要一个服务器就叫它搜索服务器吧
然后需要采集数据 把数据载入服务器里
这里面包含很多技术 比如搜索效率
《asp.net,C#提取关键字》
答:1、直接查找啊 或者indexOf() // 此方法能实现,估计麻烦 2、根据&符号,把split 成数组,再到json ,然后再操作
《Asp.net怎么用like关键字实现简单的站内搜索??》
答:回答:库中要存信息的关键字, 每条可被搜索的信息都加一个关键字字段, like这个字段即可。
《ASP.NET(C#)关键字查询问题》
答:1、在后台执行查询 select * from table_name where 酒店名称=Textbox里的内容 2、把得到的结果重新绑定gridview
《ASP.net(vb)用gridview显示关键字查询内容》
答:用SQL语句查询!
《asp.net中ComboBox下拉控件怎么做一个关键字匹配,像百度那一样,打一...》
答:正常情况下是做了个异步。 ajax用你输入的关键字去数据库进行匹配然后返回一个结果集。