改进字符串搜索

本文关键字:搜索 字符串 | 更新日期: 2023-09-27 18:18:02

我有一个名为" Articles "的表,其中包含一个Article_body字段,每个记录可能包含超过1000个字符。我有一个搜索网页,通过插入任何字符串来搜索这些文章,并检索在其Article_body字段中包含此字符串的所有文章。我目前使用。contains方法如下所示:-

**public IQueryable<Question> searcharticles(string q)
    {
        return from a in entities1.articles
            where (a.article_body.Contains(q)  
 select u;}**

目前搜索工作良好,但我担心,当我将有成千上万的文章,这可能无法有效地工作,所以我有以下两个问题:-

    有更好的方法来做搜索吗?
  1. 如果我在article_body字段上添加索引,它会加快搜索速度吗(我不这么认为!!)?提前感谢任何帮助。BR

改进字符串搜索

您是否看过全文搜索(假设您的数据库是SQL server)?

假设你有SQL Server

有几种方法可以提高性能。

  1. 创建适当的非聚类索引,并覆盖列。

    (阅读封面索引)

  2. SQL Server的全文搜索,但这需要企业许可证,如果你想在线托管

  3. 尝试Lucene索引