Class WebpageElasticService

java.lang.Object
com.bytedesk.kbase.llm_webpage.elastic.WebpageElasticService

@Service public class WebpageElasticService extends Object
Elasticsearch 全文检索服务(网页搜索)
Author:
jackning
  • Field Details

    • elasticsearchOperations

      private final org.springframework.data.elasticsearch.core.ElasticsearchOperations elasticsearchOperations
    • webpageRestService

      private final WebpageRestService webpageRestService
  • Constructor Details

    • WebpageElasticService

      public WebpageElasticService()
  • Method Details

    • updateIndex

      public void updateIndex(WebpageRequest request)
      更新单个网页的Elasticsearch索引
      Parameters:
      request - 网页请求对象
    • updateAllIndex

      public void updateAllIndex(WebpageRequest request)
      更新知识库下所有网页的Elasticsearch索引
      Parameters:
      request - 网页请求对象,包含知识库UID
    • indexWebpage

      public void indexWebpage(WebpageEntity webpage)
      索引网页实体到Elasticsearch
      Parameters:
      webpage - 要索引的网页实体
    • deleteWebpageIndex

      public void deleteWebpageIndex(String webpageUid)
      从Elasticsearch中删除网页索引
      Parameters:
      webpageUid - 网页UID
    • deleteWebpageIndexByKbUid

      public void deleteWebpageIndexByKbUid(String kbUid)
      批量删除指定知识库的所有网页索引
      Parameters:
      kbUid - 知识库UID
    • searchWebpage

      public List<WebpageElasticSearchResult> searchWebpage(String query, String kbUid, String categoryUid, String orgUid)
      全文搜索网页
      Parameters:
      query - 搜索查询
      kbUid - 知识库UID(可选)
      categoryUid - 分类UID(可选)
      orgUid - 组织UID(可选)
      Returns:
      搜索结果列表
    • suggestWebpage

      public List<WebpageElasticSearchResult> suggestWebpage(WebpageRequest request)
      网页输入联想
      Parameters:
      request - 网页请求参数
      Returns:
      联想结果列表
    • searchWebpageInternal

      private List<WebpageElasticSearchResult> searchWebpageInternal(String query, String kbUid, String categoryUid, String orgUid, boolean isSuggest, Integer maxResults)
      搜索网页内容 - 私有辅助方法,处理搜索和联想的共同逻辑
      Parameters:
      query - 搜索关键词
      kbUid - 知识库UID(可选)
      categoryUid - 分类UID(可选)
      orgUid - 组织UID(可选)
      isSuggest - 是否为输入联想模式
      maxResults - 最大结果数,为null则不限制
      Returns:
      搜索结果列表
    • applySimpleHighlighting

      private void applySimpleHighlighting(WebpageElasticSearchResult result, String query)
      简单地为搜索结果添加高亮标记
      Parameters:
      result - 搜索结果
      query - 搜索查询