Esempio n. 1
0
        /// <summary>
        /// 根据标签搜索查询条件构建Lucene查询条件
        /// </summary>
        /// <param name="userQuery"></param>
        /// <returns></returns>
        private LuceneSearchBuilder BuildLuceneSearchBuilder(string tagName, long ownerId)
        {
            LuceneSearchBuilder searchBuilder = new LuceneSearchBuilder();

            //搜索词匹配范围
            searchBuilder.WithField(TagIndexDocument.TagName, tagName, false, BoostLevel.Hight, false);
            //searchBuilder.WithPhrase(TagIndexDocument.TagName, tagName, BoostLevel.Hight, false);
            //租户ID过滤
            searchBuilder.WithField(TagIndexDocument.TenantTypeId, this.tenantTypeId, true, BoostLevel.Hight, true);
            //OwnerId过滤
            searchBuilder.WithField(TagIndexDocument.OwnerId, ownerId.ToString(), true, BoostLevel.Hight, true);
            //按内容数倒叙
            searchBuilder.SortByInteger(TagIndexDocument.ItemCount, true);
            return(searchBuilder);
        }