在ASP.NET中创建搜索功能
我有一个网站,内容(HTML)是使用ASP.NETC从SQLServer数据库生成的 现在我想在网站上添加一个搜索功能,以便用户可以搜索内容。它会弹出一个结果页面,显示结果 执行此操作的最佳方法是什么?Microsoft Index Server: 或者 谷歌自定义搜索:两个最佳解决方案:在ASP.NET中创建搜索功能,asp.net,html,Asp.net,Html,我有一个网站,内容(HTML)是使用ASP.NETC从SQLServer数据库生成的 现在我想在网站上添加一个搜索功能,以便用户可以搜索内容。它会弹出一个结果页面,显示结果 执行此操作的最佳方法是什么?Microsoft Index Server: 或者 谷歌自定义搜索:两个最佳解决方案: 谷歌自定义搜索(GCS) SQL Server(手动) GCS: 在这里,你将完全依赖谷歌。如果他们在60天内为你的网页编制索引,那么祝你好运。你找不到没有存储的信息,像网页一样公开。因此,登录内的任何内
- 谷歌自定义搜索(GCS)
- SQL Server(手动)
今天我只建议一个解决方案:ElasticSearch。这是一个很好的解决方案;容易相处;在所有平台上工作;基于一个很好的REST api和JSON,性能非常好。知道您更喜欢搜索功能的方向有点困难,也不知道您更喜欢/并且使用起来舒服的语言是什么 那么,简单点怎么样?和使用托管搜索 这个网站在这里,免费,将索引多达1000,你也可以得到各种各样的报告。看起来你只需要在你的网站上添加一些简单的HTML就可以了 您还可以根据需要重新编制索引,还可以为您设置一个时间表。无需等待谷歌
该站点是您的页面是从SQL数据库生成的。我认为可以安全地假设相关数据也存在于SQL DB中,而不是asp模板或C#代码中。要搜索该数据,您可以根据
contains(“搜索词”)
功能向数据库写入多个查询
您可以使用执行所有这些查询的简单搜索,也可以使用高级搜索,在高级搜索中,您可以根据要执行的查询提供复选框以优化搜索
这比对生成的内容进行原始搜索更有意义,imo.使用Lucene(apachelucene项目开发了开源搜索软件)
使用谷歌搜索
*如果可能的话,您可以使用Sharepoint进行网站开发,并且每个网站都有搜索功能。在这里您可以找到最佳教程
如果您正在使用SOL DB,请尝试在其中启用您自己的搜索代码框。例如,我正在创建一个视频门户,我正在使用以下代码通过自己的搜索框搜索视频
<script type="text/javascript">
$(document).ready(function () {
SearchText();
});
function SearchText() {
$(".autosuggest").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Home.aspx/GetAutoCompleteData",
data: "{'username':'" + document.getElementById('txtSearch').value + "'}",
dataType: "json",
success: function (data) {
response(data.d);
},
error: function (result) {
alert("Error");
}
});
}
});
}
$(".autosuggest").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Home.aspx/GetAutoCompleteData",
data: "{'username':'" + document.getElementById('txtSearch').value + "'}",
dataType: "json",
success: function (data) {
response(data.d);
},
error: function (result) {
alert("Error");
}
});
}
});
</script>
/// <summary>
/// To AutoSearch. . .
/// </summary>
/// <param name="userName"></param>
/// <returns></returns>
public List<string> GetAutoComplete(string userName)
{
List<string> lstStr = new List<string>();
sqlCon = new SqlConnection(strCon);
sqlCmd=new SqlCommand("select DISTINCT OldFileName from UploadedVideo where OldFileName LIKE '%'+@SearchText+'%'", sqlCon);
sqlCon.Open();
sqlCmd.Parameters.AddWithValue("@SearchText",userName);
SqlDataReader reader=null;
reader = sqlCmd.ExecuteReader();
while(reader.Read())
{
lstStr.Add(reader["OldFileName"].ToString());
}
return lstStr;
}
$(文档).ready(函数(){
SearchText();
});
函数SearchText(){
$(“.autosuggest”).autocomplete({
来源:功能(请求、响应){
$.ajax({
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
url:“Home.aspx/GetAutoCompleteData”,
数据:“{'username':'”+document.getElementById('txtSearch').value+“}”,
数据类型:“json”,
成功:功能(数据){
答复(数据d);
},
错误:函数(结果){
警报(“错误”);
}
});
}
});
}
$(“.autosuggest”).autocomplete({
来源:功能(请求、响应){
$.ajax({
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
url:“Home.aspx/GetAutoCompleteData”,
数据:“{'username':'”+document.getElementById('txtSearch').value+“}”,
数据类型:“json”,
成功:功能(数据){
答复(数据d);
},
错误:函数(结果){
警报(“错误”);
}
});
}
});
///
///自动搜索。
///
///
///
公共列表GetAutoComplete(字符串用户名)
{
List lstStr=新列表();
sqlCon=新的SqlConnection(strCon);
sqlCmd=new SqlCommand(“从上传的视频中选择不同的OldFileName,其中OldFileName类似“%”++@SearchText++“%”,sqlCon);
sqlCon.Open();
sqlCmd.Parameters.AddWithValue(“@SearchText”,用户名);
SqlDataReader=null;
reader=sqlCmd.ExecuteReader();
while(reader.Read())
{
添加(读卡器[“OldFileName”].ToString());
}
返回lstStr;
}
我已经创建了一个自动完成框。这里最重要的是我们可以使用自己的代码 如果您的内容存储在SQL数据库中,您需要在该数据库中搜索它,那么您需要某种查询生成器。
市场上有一些。我记得Aspose Query和EasyQuery,但是如果你在google上搜索“Query builder asp.net”或类似的内容,你会发现更多信息。如果网站是以I