• moss 2007 添加关键字及最佳匹配


    代码
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    using Microsoft.SharePoint;
    using Microsoft.Office.Server.Search.Administration;

    namespace MossKeywords
    {
        
    public partial class frmMossKeywords : Form
        {
            
    public frmMossKeywords()
            {
                InitializeComponent();
            }

            
    private void btnAdd_Click(object sender, EventArgs e)
            {
                
    string siteUrl = this.txtSiteUrl.Text.Trim();
                
    string keywords = this.txtKeywords.Text.Trim();
                
    string synonyms = this.txtSynonyms.Text.Trim();
                
    string bestBetTitle = this.txtBestBetTitle.Text.Trim();
                
    string bestBetUrl = this.txtBestBetUrl.Text.Trim();


                
    if (string.IsNullOrEmpty(siteUrl) && string.IsNullOrEmpty(keywords) && string.IsNullOrEmpty(bestBetTitle) && string.IsNullOrEmpty(bestBetUrl))
                {
                    MessageBox.Show(
    "信息不完整!""提示");
                }
                
    else
                {
                    
    using (SPSite site = new SPSite(siteUrl))
                    {
                        SPWeb rootweb 
    = site.OpenWeb();
                        Keywords Keywords 
    = new Keywords(SearchContext.GetContext(site), new Uri(rootweb.Url));
                        KeywordCollection keyCol 
    = Keywords.AllKeywords;

                        
    if (!KeywordIsExist(keyCol, keywords))
                        {
                            
    //添加关键字     
                            Keyword newKeyword = Keywords.AllKeywords.Create(keywords, DateTime.Now.AddDays(-1));

                            
    //添加同义词 注意:同义词与关键词不能重复
                            if (!SynonymsIsExist(newKeyword.Synonyms,synonyms))
                            {
                                newKeyword.Synonyms.Create(synonyms);
                            }

                            
    //创建最佳匹配项,可以创建多个
                            BestBet bestBet = newKeyword.BestBets.Create(bestBetTitle, bestBetTitle, new Uri(bestBetUrl));
                            newKeyword.Update();
                            MessageBox.Show(
    "添加成功!""提示");
                        }
                        
    else
                        {
                            
    foreach (Keyword kwd in keyCol)
                            {
                                
    if (kwd.Term.Equals(keywords))
                                {
                                    
    //添加同义词 注意:同义词与关键词不能重复
                                    if (!SynonymsIsExist(kwd.Synonyms,synonyms) && !KeywordIsExist(keyCol, synonyms))
                                    {
                                        kwd.Synonyms.Create(synonyms);
                                    }

                                    
    //创建最佳匹配项,可以创建多个
                                    BestBet bestBet = kwd.BestBets.Create(bestBetTitle, bestBetTitle, new Uri(bestBetUrl));
                                    kwd.Update();
                                    MessageBox.Show(
    "添加成功!""提示");
                                }
                            }
                        }


                    }

                }
            }

            
    /// <summary>
            
    /// 判断关键字是否存在
            
    /// </summary>
            
    /// <param name="keyCol"></param>
            
    /// <param name="keyword"></param>
            
    /// <returns></returns>
            private bool KeywordIsExist(KeywordCollection keyCol, string keyword)
            {
                
    foreach (Keyword kwd in keyCol)
                {
                    
    if (kwd.Term.Equals(keyword))
                        
    return true;
                }

                
    return false;
            }

            
    /// <summary>
            
    /// 同义词是否存在
            
    /// </summary>
            
    /// <param name="synCol"></param>
            
    /// <param name="synonym"></param>
            
    /// <returns></returns>
            private bool SynonymsIsExist(SynonymCollection synCol, string synonym)
            {
                
    foreach (Synonym syn in synCol)
                {
                    
    if (syn.Term.Equals(synonym))
                        
    return true;
                }

                
    return false;
            }
        }
    }


  • 相关阅读:
    win10+Linux双系统安装及一些配置问题
    第3讲--3.1旋转矩阵
    【读诗】宣州谢朓楼饯别校书叔云
    【2】python:end=' '
    如何与国外导师联系
    PointNet
    点云深度学习
    ES6常用方法
    监听滚动条、上下联动
    echarts 左右滚动
  • 原文地址:https://www.cnblogs.com/dbasys/p/1684212.html
Copyright © 2020-2023  润新知