mirror of
				https://codeberg.org/yeentown/barkey.git
				synced 2025-11-03 23:14:13 +00:00 
			
		
		
		
	Rename tsvector to sqlTsvector
This commit is contained in:
		
						commit
						691a9a6be2
					
				
					 3 changed files with 4 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -222,7 +222,7 @@ fulltextSearch:
 | 
			
		|||
  #   You need to install pgroonga and configure it as a PostgreSQL extension.
 | 
			
		||||
  #   In addition to the above, you need to create a pgroonga index on the text column of the note table.
 | 
			
		||||
  #   see: https://pgroonga.github.io/tutorial/
 | 
			
		||||
  # - tsvector
 | 
			
		||||
  # - sqlTsvector
 | 
			
		||||
  #   Use Postgres tsvectors.
 | 
			
		||||
  #   You need to create a generated column and index on the note table to use this, followed by an ANALYZE on the table. Beware, this will take a while to be created and the database will remain locked during this process.
 | 
			
		||||
  #   This also enables advanced search syntax, see documentation of websearch_to_tsquery: https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -254,7 +254,7 @@ export type Config = {
 | 
			
		|||
	};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export type FulltextSearchProvider = 'sqlLike' | 'sqlPgroonga' | 'meilisearch' | 'tsvector';
 | 
			
		||||
export type FulltextSearchProvider = 'sqlLike' | 'sqlPgroonga' | 'meilisearch' | 'sqlTsvector';
 | 
			
		||||
 | 
			
		||||
const _filename = fileURLToPath(import.meta.url);
 | 
			
		||||
const _dirname = dirname(_filename);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -241,7 +241,7 @@ export class SearchService {
 | 
			
		|||
		switch (this.provider) {
 | 
			
		||||
			case 'sqlLike':
 | 
			
		||||
			case 'sqlPgroonga':
 | 
			
		||||
			case 'tsvector': {
 | 
			
		||||
			case 'sqlTsvector': {
 | 
			
		||||
				// ほとんど内容に差がないのでsqlLikeとsqlPgroongaを同じ処理にしている.
 | 
			
		||||
				// 今後の拡張で差が出る用であれば関数を分ける.
 | 
			
		||||
				return this.searchNoteByLike(q, me, opts, pagination);
 | 
			
		||||
| 
						 | 
				
			
			@ -281,7 +281,7 @@ export class SearchService {
 | 
			
		|||
 | 
			
		||||
		if (this.config.fulltextSearch?.provider === 'sqlPgroonga') {
 | 
			
		||||
			query.andWhere('note.text &@~ :q', {q});
 | 
			
		||||
		} else if (this.config.fulltextSearch?.provider === "tsvector") {
 | 
			
		||||
		} else if (this.config.fulltextSearch?.provider === "sqlTsvector") {
 | 
			
		||||
			query.andWhere('note.tsvector_embedding @@ websearch_to_tsquery(:q)', { q });
 | 
			
		||||
		} else {
 | 
			
		||||
			query.andWhere('note.text ILIKE :q', { q: `%${ sqlLikeEscape(q) }%` });
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue