Class ChunkElasticService
java.lang.Object
com.bytedesk.kbase.llm_chunk.elastic.ChunkElasticService
elasticsearch 全文检索服务
- Author:
- jackning
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ChunkRestService
private org.springframework.data.elasticsearch.core.ElasticsearchOperations
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
applyHighlighting
(ChunkElasticSearchResult result, String query, ChunkElastic chunkElastic) 为搜索结果添加高亮deleteByKbaseUid
(String kbaseUid) 根据知识库UID删除所有相关Chunk索引deleteChunk
(String chunkUid) 从Elasticsearch中删除Chunk的索引void
indexChunk
(ChunkEntity chunk) 索引Chunk实体到ElasticsearchsearchChunks
(String query, String kbUid, String categoryUid, String orgUid) 搜索Chunk内容private List<ChunkElasticSearchResult>
searchChunksInternal
(String query, String kbUid, String categoryUid, String orgUid, boolean isSuggest, Integer maxResults) 搜索Chunk内容 - 私有辅助方法,处理搜索和联想的共同逻辑suggestChunks
(ChunkRequest request) 用户在输入过程中,给出输入联想void
updateAllIndex
(ChunkRequest request) void
updateIndex
(ChunkRequest request)
-
Field Details
-
elasticsearchOperations
@Autowired private org.springframework.data.elasticsearch.core.ElasticsearchOperations elasticsearchOperations -
chunkRestService
-
-
Constructor Details
-
ChunkElasticService
public ChunkElasticService()
-
-
Method Details
-
updateIndex
-
updateAllIndex
-
indexChunk
索引Chunk实体到Elasticsearch- Parameters:
chunk
- 要索引的Chunk实体
-
deleteChunk
从Elasticsearch中删除Chunk的索引- Parameters:
chunkUid
- 要删除的Chunk的UID- Returns:
- 是否删除成功
-
deleteByKbaseUid
根据知识库UID删除所有相关Chunk索引- Parameters:
kbaseUid
- 知识库UID- Returns:
- 是否删除成功
-
searchChunks
public List<ChunkElasticSearchResult> searchChunks(String query, String kbUid, String categoryUid, String orgUid) 搜索Chunk内容- Parameters:
query
- 查询关键词kbUid
- 知识库UID(可选)categoryUid
- 分类UID(可选)orgUid
- 组织UID(可选)- Returns:
- Chunk搜索结果列表
-
suggestChunks
用户在输入过程中,给出输入联想- Parameters:
request
- 请求参数- Returns:
- Chunk搜索结果列表
-
searchChunksInternal
private List<ChunkElasticSearchResult> searchChunksInternal(String query, String kbUid, String categoryUid, String orgUid, boolean isSuggest, Integer maxResults) 搜索Chunk内容 - 私有辅助方法,处理搜索和联想的共同逻辑- Parameters:
query
- 搜索关键词kbUid
- 知识库UID(可选)categoryUid
- 分类UID(可选)orgUid
- 组织UID(可选)isSuggest
- 是否为输入联想模式maxResults
- 最大结果数,为null则不限制- Returns:
- 搜索结果列表
-
applyHighlighting
private void applyHighlighting(ChunkElasticSearchResult result, String query, ChunkElastic chunkElastic) 为搜索结果添加高亮
-