Class FaqElasticService
java.lang.Object
com.bytedesk.kbase.llm_faq.elastic.FaqElasticService
elasticsearch 全文检索服务
- Author:
- jackning
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.springframework.data.elasticsearch.core.ElasticsearchOperationsprivate final FaqRestService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddHighlight(FaqElasticSearchResult result, String query, String question) 为搜索结果添加高亮从Elasticsearch中删除FAQ的索引void索引FAQ实体到Elasticsearch搜索FAQ内容private List<FaqElasticSearchResult>searchFaqInternal(String query, String kbUid, String categoryUid, String orgUid, boolean isSuggest, Integer maxResults) 搜索FAQ内容 - 私有辅助方法,处理两种搜索场景的共同逻辑suggestFaq(FaqRequest request) 用户在输入过程中,给出输入联想voidupdateAllIndex(FaqRequest request) voidupdateIndex(FaqRequest request)
-
Field Details
-
elasticsearchOperations
private final org.springframework.data.elasticsearch.core.ElasticsearchOperations elasticsearchOperations -
faqRestService
-
-
Constructor Details
-
FaqElasticService
public FaqElasticService()
-
-
Method Details
-
updateIndex
-
updateAllIndex
-
indexFaq
索引FAQ实体到Elasticsearch- Parameters:
faq- 要索引的FAQ实体
-
deleteFaq
从Elasticsearch中删除FAQ的索引- Parameters:
faqUid- 要删除的FAQ的UID- Returns:
- 是否删除成功
-
searchFaqInternal
private List<FaqElasticSearchResult> searchFaqInternal(String query, String kbUid, String categoryUid, String orgUid, boolean isSuggest, Integer maxResults) 搜索FAQ内容 - 私有辅助方法,处理两种搜索场景的共同逻辑- Parameters:
query- 搜索关键词kbUid- 知识库UID(可选)categoryUid- 分类UID(可选)orgUid- 组织UID(可选)isSuggest- 是否为输入联想模式maxResults- 最大结果数,为null则不限制- Returns:
- 搜索结果列表
-
addHighlight
为搜索结果添加高亮 -
searchFaq
public List<FaqElasticSearchResult> searchFaq(String query, String kbUid, String categoryUid, String orgUid) 搜索FAQ内容- Parameters:
query- 搜索关键词kbUid- 知识库UID(可选)categoryUid- 分类UID(可选)orgUid- 组织UID(可选)- Returns:
- 带权重的搜索结果列表和元数据
-
suggestFaq
用户在输入过程中,给出输入联想
-