Skip to content

Commit

Permalink
feature: 修改插件名称
Browse files Browse the repository at this point in the history
  • Loading branch information
Rainsheep committed Jan 13, 2024
1 parent 8168495 commit a3ea78b
Show file tree
Hide file tree
Showing 12 changed files with 76 additions and 56 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,20 @@ networks:

### 设置插件

> 插件需配合 [搜索组件](https://www.halo.run/store/apps/app-DlacW) 一起使用,搜索组件提供了前端界面, Meilisearch 提供了后端搜索服务。
进入插件详情 -> 基本设置,填写 meiliseach 的 host、masterKey、单条搜索结果的长度。

![设置](https://oss.rainsheep.cn/blog/2024/01/1705076571-cc7.png)

**设置完成后,务必进入仪表盘 → 刷新搜索引擎,否则可能搜不到文章**

## 代办事项

- [ ] 插件启动/更新设置后,自动刷新索引。
- [ ] 使用 DefaultExtensionGetter#getEnabledExtensionByDefinition 获取 ExtensionPoint。
- [ ] 将 meilisearch 集成到插件中,不再需要单独启动。




2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
version=1.0.0-SNAPSHOT
version=1.2.1-SNAPSHOT

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.rs.halo.plugin.meilisearch;

import lombok.extern.slf4j.Slf4j;
import org.pf4j.PluginWrapper;
import org.springframework.stereotype.Component;
import run.halo.app.plugin.BasePlugin;

@Slf4j
@Component
public class MeilisearchPlugin extends BasePlugin {

public MeilisearchPlugin(PluginWrapper wrapper) {
super(wrapper);
}

@Override
public void start() {
log.info("Meilisearch plugin started");
}

@Override
public void stop() {
log.info("Meilisearch plugin stop");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

@Slf4j
@Configuration
public class MeiliSearchConfig {
public class MeilisearchConfig {

@Bean
public ObjectMapper objectMapper() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.rs.halo.plugin.meilisearch.config;

public class MeiliSearchSetting {
public class MeilisearchSetting {
public static final int DEFAULT_CROP_LENGTH = 80;

public static String HOST = "";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package com.rs.halo.plugin.meilisearch.reconciler;

import static com.rs.halo.plugin.meilisearch.config.MeiliSearchSetting.DEFAULT_CROP_LENGTH;
import static com.rs.halo.plugin.meilisearch.config.MeilisearchSetting.DEFAULT_CROP_LENGTH;

import com.rs.halo.plugin.meilisearch.config.MeiliSearchSetting;
import com.rs.halo.plugin.meilisearch.config.MeilisearchSetting;
import com.rs.halo.plugin.meilisearch.utils.IndexHolder;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
Expand All @@ -16,7 +16,7 @@
@Slf4j
@Component
@RequiredArgsConstructor
public class MeiliSearchReconciler implements Reconciler<Reconciler.Request> {
public class MeilisearchReconciler implements Reconciler<Reconciler.Request> {

private final ReactiveSettingFetcher settingFetcher;

Expand All @@ -25,7 +25,7 @@ public class MeiliSearchReconciler implements Reconciler<Reconciler.Request> {
@Override
public Result reconcile(Request request) {
String name = request.name();
if (!isMeiliSearchSetting(name)) {
if (!isMeilisearchSetting(name)) {
return Result.doNotRetry();
}
loadPluginSetting();
Expand All @@ -35,8 +35,8 @@ public Result reconcile(Request request) {
private void loadPluginSetting() {
settingFetcher.get("base")
.doOnSuccess(baseSetting -> {
log.info("MeiliSearch setting update: {}", baseSetting);
MeiliSearchSetting.updateSetting(
log.info("Meilisearch setting update: {}", baseSetting);
MeilisearchSetting.updateSetting(
baseSetting.path("host").asText(DEFAULT_EMPTY_STRING),
baseSetting.path("masterKey").asText(DEFAULT_EMPTY_STRING),
baseSetting.path("cropLength").asInt(DEFAULT_CROP_LENGTH));
Expand All @@ -50,7 +50,7 @@ public Controller setupWith(ControllerBuilder builder) {
return builder.extension(new ConfigMap()).build();
}

private boolean isMeiliSearchSetting(String name) {
return "plugin-meilisearch-configmap".equals(name);
private boolean isMeilisearchSetting(String name) {
return "meilisearch-configmap".equals(name);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.meilisearch.sdk.exceptions.MeilisearchException;
import com.meilisearch.sdk.model.Searchable;
import com.rs.halo.plugin.meilisearch.bean.Document;
import com.rs.halo.plugin.meilisearch.config.MeiliSearchSetting;
import com.rs.halo.plugin.meilisearch.config.MeilisearchSetting;
import com.rs.halo.plugin.meilisearch.utils.IndexHolder;
import java.util.HashMap;
import java.util.List;
Expand All @@ -26,7 +26,7 @@
@Service
@RequiredArgsConstructor
@Order(Ordered.HIGHEST_PRECEDENCE)
public class MeiliSearchPostService implements PostSearchService {
public class MeilisearchPostService implements PostSearchService {

private static final String[] highlightAttributes = {"title", "excerpt", "content"};
private static final String[] cropAttributes = {"excerpt", "content"};
Expand All @@ -41,7 +41,7 @@ public SearchResult<PostHit> search(SearchParam searchParam) throws Exception {
.q(searchParam.getKeyword())
.limit(searchParam.getLimit())
.attributesToCrop(cropAttributes)
.cropLength(MeiliSearchSetting.CROP_LENGTH)
.cropLength(MeilisearchSetting.CROP_LENGTH)
.cropMarker("")
.attributesToHighlight(highlightAttributes)
.highlightPreTag(searchParam.getHighlightPreTag())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.meilisearch.sdk.Config;
import com.meilisearch.sdk.Index;
import com.meilisearch.sdk.exceptions.MeilisearchException;
import com.rs.halo.plugin.meilisearch.config.MeiliSearchSetting;
import com.rs.halo.plugin.meilisearch.config.MeilisearchSetting;

public class IndexHolder {

Expand All @@ -26,7 +26,7 @@ public static void resetIndex() {
}

private static Index generateIndex() throws MeilisearchException {
return new Client(new Config(MeiliSearchSetting.HOST, MeiliSearchSetting.MASTER_KEY)).index(
return new Client(new Config(MeilisearchSetting.HOST, MeilisearchSetting.MASTER_KEY)).index(
"halo_post");
}
}
2 changes: 1 addition & 1 deletion src/main/resources/extensions/settings.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v1alpha1
kind: Setting
metadata:
name: plugin-meilisearch-settings
name: meilisearch-settings
spec:
forms:
- group: base
Expand Down
19 changes: 19 additions & 0 deletions src/main/resources/logo.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions src/main/resources/plugin.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
apiVersion: plugin.halo.run/v1alpha1
kind: Plugin
metadata:
name: PluginMeiliSearch
name: Meilisearch
spec:
enabled: true
requires: ">=2.10.0"
author:
name: Rainsheep
website: https://blog.rainsheep.cn
logo: https://www.meilisearch.com/favicon.svg
configMapName: plugin-meilisearch-configmap
settingName: plugin-meilisearch-settings
logo: logo.svg
configMapName: meilisearch-configmap
settingName: meilisearch-settings
homepage: https://github.com/Rainsheep/halo-plugin-meilisearch
displayName: "美丽搜索"
description: "支持集成美丽搜索,基于 meilisearch 实现搜索功能"
displayName: "Meilisearch"
description: "集成 Meilisearch,为 Halo 2.0 提供更强大、更精确、更易用的搜索功能。"
license:
- name: "GPL-3.0"
url: "https://github.com/Rainsheep/halo-plugin-meilisearch/blob/main/LICENSE"

0 comments on commit a3ea78b

Please sign in to comment.