|
@@ -100,6 +100,7 @@ export class ElasticsearchService implements OnModuleInit {
|
|
|
vector,
|
|
vector,
|
|
|
fileId: metadata.fileId,
|
|
fileId: metadata.fileId,
|
|
|
fileName: metadata.originalName,
|
|
fileName: metadata.originalName,
|
|
|
|
|
+ title: metadata.title || metadata.originalName,
|
|
|
fileMimeType: metadata.mimetype,
|
|
fileMimeType: metadata.mimetype,
|
|
|
chunkIndex: metadata.chunkIndex,
|
|
chunkIndex: metadata.chunkIndex,
|
|
|
startPosition: metadata.startPosition,
|
|
startPosition: metadata.startPosition,
|
|
@@ -129,6 +130,20 @@ export class ElasticsearchService implements OnModuleInit {
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ async updateTitleByFileId(fileId: string, title: string) {
|
|
|
|
|
+ await this.client.updateByQuery({
|
|
|
|
|
+ index: this.indexName,
|
|
|
|
|
+ query: {
|
|
|
|
|
+ term: { fileId },
|
|
|
|
|
+ },
|
|
|
|
|
+ script: {
|
|
|
|
|
+ source: 'ctx._source.title = params.title',
|
|
|
|
|
+ params: { title },
|
|
|
|
|
+ },
|
|
|
|
|
+ refresh: true, // 即座に検索に反映させる
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
async deleteByUserId(userId: string) {
|
|
async deleteByUserId(userId: string) {
|
|
|
// Note: This method should likely only be used by admin functionality
|
|
// Note: This method should likely only be used by admin functionality
|
|
|
// since it deletes all data for a user
|
|
// since it deletes all data for a user
|
|
@@ -171,6 +186,7 @@ export class ElasticsearchService implements OnModuleInit {
|
|
|
content: hit._source?.content,
|
|
content: hit._source?.content,
|
|
|
fileId: hit._source?.fileId,
|
|
fileId: hit._source?.fileId,
|
|
|
fileName: hit._source?.fileName,
|
|
fileName: hit._source?.fileName,
|
|
|
|
|
+ title: hit._source?.title,
|
|
|
chunkIndex: hit._source?.chunkIndex,
|
|
chunkIndex: hit._source?.chunkIndex,
|
|
|
startPosition: hit._source?.startPosition,
|
|
startPosition: hit._source?.startPosition,
|
|
|
endPosition: hit._source?.endPosition,
|
|
endPosition: hit._source?.endPosition,
|
|
@@ -219,6 +235,7 @@ export class ElasticsearchService implements OnModuleInit {
|
|
|
content: hit._source?.content,
|
|
content: hit._source?.content,
|
|
|
fileId: hit._source?.fileId,
|
|
fileId: hit._source?.fileId,
|
|
|
fileName: hit._source?.fileName,
|
|
fileName: hit._source?.fileName,
|
|
|
|
|
+ title: hit._source?.title,
|
|
|
chunkIndex: hit._source?.chunkIndex,
|
|
chunkIndex: hit._source?.chunkIndex,
|
|
|
startPosition: hit._source?.startPosition,
|
|
startPosition: hit._source?.startPosition,
|
|
|
endPosition: hit._source?.endPosition,
|
|
endPosition: hit._source?.endPosition,
|
|
@@ -327,6 +344,7 @@ export class ElasticsearchService implements OnModuleInit {
|
|
|
content: result.content,
|
|
content: result.content,
|
|
|
fileId: result.fileId,
|
|
fileId: result.fileId,
|
|
|
fileName: result.fileName,
|
|
fileName: result.fileName,
|
|
|
|
|
+ title: result.title,
|
|
|
chunkIndex: result.chunkIndex,
|
|
chunkIndex: result.chunkIndex,
|
|
|
startPosition: result.startPosition,
|
|
startPosition: result.startPosition,
|
|
|
endPosition: result.endPosition,
|
|
endPosition: result.endPosition,
|
|
@@ -352,6 +370,7 @@ export class ElasticsearchService implements OnModuleInit {
|
|
|
// ファイル関連情報
|
|
// ファイル関連情報
|
|
|
fileId: { type: 'keyword' },
|
|
fileId: { type: 'keyword' },
|
|
|
fileName: { type: 'keyword' },
|
|
fileName: { type: 'keyword' },
|
|
|
|
|
+ title: { type: 'text' },
|
|
|
fileMimeType: { type: 'keyword' },
|
|
fileMimeType: { type: 'keyword' },
|
|
|
|
|
|
|
|
// チャンク情報
|
|
// チャンク情報
|
|
@@ -448,6 +467,7 @@ export class ElasticsearchService implements OnModuleInit {
|
|
|
content: hit._source?.content,
|
|
content: hit._source?.content,
|
|
|
fileId: hit._source?.fileId,
|
|
fileId: hit._source?.fileId,
|
|
|
fileName: hit._source?.fileName,
|
|
fileName: hit._source?.fileName,
|
|
|
|
|
+ title: hit._source?.title,
|
|
|
chunkIndex: hit._source?.chunkIndex,
|
|
chunkIndex: hit._source?.chunkIndex,
|
|
|
startPosition: hit._source?.startPosition,
|
|
startPosition: hit._source?.startPosition,
|
|
|
endPosition: hit._source?.endPosition,
|
|
endPosition: hit._source?.endPosition,
|
|
@@ -526,6 +546,7 @@ export class ElasticsearchService implements OnModuleInit {
|
|
|
content: hit._source?.content,
|
|
content: hit._source?.content,
|
|
|
fileId: hit._source?.fileId,
|
|
fileId: hit._source?.fileId,
|
|
|
fileName: hit._source?.fileName,
|
|
fileName: hit._source?.fileName,
|
|
|
|
|
+ title: hit._source?.title,
|
|
|
chunkIndex: hit._source?.chunkIndex,
|
|
chunkIndex: hit._source?.chunkIndex,
|
|
|
startPosition: hit._source?.startPosition,
|
|
startPosition: hit._source?.startPosition,
|
|
|
endPosition: hit._source?.endPosition,
|
|
endPosition: hit._source?.endPosition,
|