-
-
Notifications
You must be signed in to change notification settings - Fork 9.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor: using indexes to query post lists (#5230)
#### What type of PR is this? /kind feature /area core /area console /milestone 2.12.x #### What this PR does / why we need it: 使用索引功能来查询文章列表 how to test it? 1. 测试文章列表的筛选条件是否正确 2. 测试文章列表中关联的标签和分类信息是否正确 3. 测试仪表盘的文章数量统计是否正确 4. 测试分类关联文章的数量是否正确 5. 测试标签关联文章的文章是否正确 6. 测试主题端文章列表是否正确 #### Which issue(s) this PR fixes: Fixes #5223 #### Does this PR introduce a user-facing change? ```release-note 使用高级索引功能检索文章以显著降低资源消耗并提供更快、更高效的文章检索体验 ```
- Loading branch information
Showing
58 changed files
with
773 additions
and
1,569 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 12 additions & 1 deletion
13
api/src/main/java/run/halo/app/extension/router/selector/FieldSelector.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,26 @@ | ||
package run.halo.app.extension.router.selector; | ||
|
||
import java.util.Objects; | ||
import org.springframework.lang.NonNull; | ||
import org.springframework.util.Assert; | ||
import run.halo.app.extension.index.query.Query; | ||
import run.halo.app.extension.index.query.QueryFactory; | ||
|
||
public record FieldSelector(Query query) { | ||
public record FieldSelector(@NonNull Query query) { | ||
public FieldSelector(Query query) { | ||
this.query = Objects.requireNonNullElseGet(query, QueryFactory::all); | ||
} | ||
|
||
public static FieldSelector of(Query query) { | ||
return new FieldSelector(query); | ||
} | ||
|
||
public static FieldSelector all() { | ||
return new FieldSelector(QueryFactory.all()); | ||
} | ||
|
||
public FieldSelector andQuery(Query other) { | ||
Assert.notNull(other, "Query must not be null"); | ||
return of(QueryFactory.and(query(), other)); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
129 changes: 0 additions & 129 deletions
129
application/src/main/java/run/halo/app/content/DefaultIndexer.java
This file was deleted.
Oops, something went wrong.
79 changes: 0 additions & 79 deletions
79
application/src/main/java/run/halo/app/content/Indexer.java
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.