首页 > 其他分享 >DotLucene搜索索引(下)

DotLucene搜索索引(下)

时间:2023-07-03 20:32:08浏览次数:34  
标签:10 startAt int DotLucene 索引 html 搜索 pageNumber dt

还有就是一个Paging属性,他的作用就是分页,输出分页的html这个属性很经典

1
/**//// <summary>
2
    /// 开始分页
3
    /// </summary>
4
    /// <returns></returns>
5
    protected DataTable Paging
6
    
{
7
        get
8
        
{ 
9
           //知道了startAt,分页也很容易了,现在根据startAt得到当前是第几页,注意,现在这里的页数也是暂时从0开始的
10
            int pageNumber = (this.startAt + this.maxResults - 1) / this.maxResults;
11
             DataTable dt = new DataTable();
12
             dt.Columns.Add("html");
13
             DataRow dr = dt.NewRow();
14
            //暂时得到当前页的html连接,注意这里当真正显示页数的时候要+1
15
             dr["html"] = pagingNumberHtml(startAt,pageNumber+1,false);
16
             dt.Rows.Add(dr);
17
            //前面显示10页,如果有的话
18
            int previousPagesCount = 10;
19
            //循环把前面页的html连接插到前面去 
20
            for (int i = pageNumber - 1; i >= 0 && i >= pageNumber - previousPagesCount; i--)
21
            
{
22
                 DataRow r = dt.NewRow();
23
                 r["html"] = pagingNumberHtml(i*this.maxResults,i+1,true);
24
                 dt.Rows.InsertAt(r,0);;
25
             }
26
            //后面也显示10页,如果有的话
27
            int nextPagesCount = 10;
28
            for (int i = pageNumber + 1; i <= this.pageCount && i <= pageNumber + nextPagesCount; i++)
29
            
{
30
                 DataRow r = dt.NewRow();
31
                 r["html"] = pagingNumberHtml(i*this.maxResults,i+1,true);
32
                 dt.Rows.Add(r);
33
             }
34
            //添加下一页的超级连接
35
             DataRow lastRow = dt.NewRow();
36
             lastRow["html"] = "<a href='Search.aspx?q="+this.Query+"&start="+(pageNumber+1)*this.maxResults+"'>下一页</a>";
37
             dt.Rows.Add(lastRow);
38
            return dt;
39

40
         }


作者:古道轻风



标签:10,startAt,int,DotLucene,索引,html,搜索,pageNumber,dt
From: https://blog.51cto.com/chunyangi/6615246

相关文章

  • DotLucene搜索索引(上)
    主要就两个方法,一个search()方法,主要是显示当前页的搜索记录1protectedvoidsearch()2{3DateTimestart=DateTime.Now;//搜索的开始时间4//得到索引所在的目录,我们在上个console程序里把索引放到了index目录下5stringindexDirectory=......
  • mysql的update更新及delete删表记录where不带索引字段导致死锁
    为什么会发生这种的事故?InnoDB存储引擎的默认事务隔离级别是「可重复读」,但是在这个隔离级别下,在多个事务并发的时候,会出现幻读的问题,所谓的幻读是指在同一事务下,连续执行两次同样的查询语句,第二次的查询语句可能会返回之前不存在的行。因此InnoDB存储引擎自己实现了行锁,通过......
  • 数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘。
    数据挖掘18大算法实现以及其他相关经典DM算法:决策分类,聚类,链接挖掘,关联挖掘,模式挖掘。图算法,搜索算法等算法码源见文末1.算法目录18大DM算法包名目录名算法名AssociationAnalysisDataMining_AprioriApriori-关联规则挖掘算法AssociationAnalysisDataMining_FP......
  • 利用Lucene.net搜索引擎进行多条件搜索的做法
    利用Lucene.net搜索引擎进行多条件搜索的做法1联合两个索引查询,已解决:IndexSearcher[]searchers=newIndexSearcher[2];  searchers[0]=newIndexSearcher(m_indexpath);searchers[1]=newIndexSearcher(m_outindexpath);MultiSearchermultiSearcher=newMult......
  • 0623搜索专题-F题
    题目描述:  读完题目大家有思路了吗?反正我有了:哪个**闲的没事干这b玩意,****。整体思路算是比较暴力,就是将这个四位数的每一位都拆解开来,让每位都从0-9挨个换一遍,组成一个新的数字再将其判断是否为质数。一个小坑:任意数字的首位不得为0,代码里特判一下就好。想到这,思路就很清......
  • MySql —— 数据页与索引
    数据库的I/O操作的最小单位是页,InnoDB数据页的默认大小是16KB,意味着数据库每次读写都是以16KB为单位的,一次最少从磁盘中读取16K的内容到内存中,一次最少把内存中的16K内容刷新到磁盘中。数据页包括七个部分       在FileHeader中有两个指针,分别指向上......
  • 【numpy基础】--数组索引
    数组索引是指在numpy数组中引用特定元素的方法。numpy的数组索引又称为fancyindexing,比其他编程语言的索引强大很多。1.选取数据numpy的索引除了像其他语言一样选择一个元素,还可以间隔着选取多个元素,也可以用任意的顺序选取元素。比如一维数组:arr=np.random.randint(0,10......
  • Python 满足列中任意两个数之和等于目标值,输出这两个数的值和所在列表的索引值
    给定一个列表为nums=[2,7,11,15],目标值target=9,找出列表中任意2数之和等于9的元素以及所在位置思路:双重遍历去一对一的比较判断1nums=[2,7,11,15,1,8,2]2target=93list_new=[]4deffind_num_indx():56foriinrange(len(nums)):......
  • MySql —— 索引
    可以按照四个角度来分类索引。按「数据结构」分类:B+tree索引、Hash索引、Full-text索引。按「物理存储」分类:聚簇索引(主键索引)、二级索引(辅助索引)。按「字段特性」分类:主键索引、唯一索引、普通索引、前缀索引。按「字段个数」分类:单列索引、联合索引。按数据结构分类 ......
  • 【Python基础】index函数-返回查找对象的首个匹配的索引位置
    描述从列表中找出某个值第一个匹配项的索引位置返回的是查找对象的索引位置,如果没有,就会抛出异常语法List.index(a,start,end)参数解释a要查找的对象(必填)start要查找的范围的开始位置索引(闭区间)(非必填)end要查找的范围的结束位置索引(开区间)(有end就必须有start,有start时可以没end)举......