/// <summary> /// 更新索引 /// </summary> /// <param name="questions">待更新的日志集合</param> public void Update(IEnumerable <AskQuestion> questions) { IEnumerable <Document> docs = AskIndexDocument.Convert(questions); IEnumerable <string> questionIds = questions.Select(n => n.QuestionId.ToString()); searchEngine.Update(docs, questionIds, AskIndexDocument.QuestionId); }
/// <summary> /// 重建索引 /// </summary> public void RebuildIndex() { int pageSize = 1000; int pageIndex = 1; long totalRecords = 0; bool isBeginning = true; bool isEndding = false; do { PagingDataSet <AskQuestion> askQuestions = askService.GetQuestionsForAdmin(null, null, null, null, null, null, null, pageSize, pageIndex); totalRecords = askQuestions.TotalRecords; isEndding = (pageSize * pageIndex < totalRecords) ? false : true; //重建索引 List <AskQuestion> askQuestionList = askQuestions.ToList <AskQuestion>(); IEnumerable <Document> docs = AskIndexDocument.Convert(askQuestionList); searchEngine.RebuildIndex(docs, isBeginning, isEndding); isBeginning = false; pageIndex++; } while (!isEndding); }
/// <summary> /// 添加索引 /// </summary> /// <param name="askQuestions">待添加的问答</param> public void Insert(IEnumerable <AskQuestion> askQuestions) { IEnumerable <Document> docs = AskIndexDocument.Convert(askQuestions); searchEngine.Insert(docs); }