asp .net应用程序中的站点搜索

问题描述 投票:0回答:4

[我可以知道在ASP .net Web应用程序中实施站点搜索的最佳实践是什么。用户应该能够输入一些关键字并获得与该关键字的相关链接。我刚刚开始研究。如果您提出自己的想法,那就太好了。

.net asp.net search
4个回答
1
投票

这全取决于您的数据存储位置:数据库页面还是静态页面。

对于前者,我将使用Lucene.NET(请查看SubText博客,该博客的最新版本具有良好的实现)。对于后者,我将使用dtSearch来爬网该站点以创建一个可以在其中搜索的索引。


2
投票

[如果它是一个小型公共网站,那么最好通过其Custom Search engine程序将Google用作搜索引擎。

很明显,这是Google无法看到的内部站点的选项。如果您的内容在数据库中,那么我听说过Lucine的好处。如果您在该平台上,SQL Server 2008的全文本搜索功能也可以很好地工作。我认为这就是SO用于其搜索的内容。或Jeff在某一点上玩了,有话要说。不知道他们是否还在使用它。


0
投票

如果使用数据库存储内容,则可以使用SQL Server全文搜索语言功能,该功能包含一堆表,然后可以对此进行搜索。我们以前曾经使用过这种方法。

查看更多详细信息:http://www.simple-talk.com/sql/learn-sql-server/sql-server-full-text-search-language-features/


0
投票

这里是C#代码

protected void OnPaging(object sender, GridViewPageEventArgs e)
{
    GridView2.PageIndex = e.NewPageIndex;
    this.Searchmyform();
}

protected void Search(object sender, EventArgs e)
{
    this.Searchmyform();
}

private void Searchmyform()
{
    using (SqlCommand cmd = new SqlCommand())
    {
        string sql = "SELECT * FROM [test].[dbo].[myform]";

        if (!string.IsNullOrEmpty(txtSearch.Text.Trim()))
        {
            sql += "  where name like '" + txtSearch.Text + "%' or contact like '" + txtSearch.Text + "%'" +
                   " or email like '" + txtSearch.Text + "%' ";
        }

        cmd.CommandText = sql;
        cmd.Connection = conn;
        using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
        {
            DataTable dt = new DataTable();
            sda.Fill(dt);
            GridView2.DataSource = dt;
            GridView2.DataBind();
        }
    }
}

aspx代码是这样的>

<div class="topnav card-body">
    <div class="search-container-lg float-right">
        <asp:TextBox ID="txtSearch" runat="server"
                  OnTextChanged="Search"
                  AutoPostBack="true"
                  placeholder="Search.."
                  CssClass="">
        </asp:TextBox>
...
© www.soinside.com 2019 - 2024. All rights reserved.