#477 Use Text Extractor as a fallback to AI Image Analyzer

This commit is contained in:
Simon Cambier
2025-09-03 16:49:13 +02:00
parent 7462e32b27
commit 0a57b7bc6a
3 changed files with 14 additions and 19 deletions

View File

@@ -218,7 +218,7 @@ export default class OmnisearchPlugin extends Plugin {
* @returns
*/
public getChsSegmenter(): any | undefined {
return (this.app as any).plugins.plugins['cm-chs-patch']
return (this.app as any).plugins?.plugins?.['cm-chs-patch']
}
/**

View File

@@ -149,25 +149,21 @@ export class DocumentsRepository {
}
// ** Image **
else if (
isFileImage(path) &&
((this.plugin.settings.imagesIndexing &&
extractor?.canFileBeExtracted(path)) ||
(this.plugin.settings.aiImageIndexing &&
aiImageAnalyzer?.canBeAnalyzed(file)))
) {
if (
this.plugin.settings.imagesIndexing &&
extractor?.canFileBeExtracted(path)
) {
content = await extractor.extractText(file)
}
else if (isFileImage(path)) {
// AI Image Analyzer
if (
this.plugin.settings.aiImageIndexing &&
aiImageAnalyzer?.canBeAnalyzed(file)
) {
content = (await aiImageAnalyzer.analyzeImage(file)) + (content ?? '')
content = await aiImageAnalyzer.analyzeImage(file)
}
// Text Extractor
else if (
this.plugin.settings.imagesIndexing &&
extractor?.canFileBeExtracted(path)
) {
content = await extractor.extractText(file)
}
}
// ** PDF **
@@ -256,6 +252,4 @@ export class DocumentsRepository {
: '',
}
}
}

View File

@@ -90,7 +90,8 @@ export function injectSettingsIndexing(
// AI Images Indexing
const aiIndexImagesDesc = new DocumentFragment()
aiIndexImagesDesc.createSpan({}, span => {
span.innerHTML = `Omnisearch will use AI Image Analyzer to index the content of your images with ai.`
span.innerHTML = `Omnisearch will use AI Image Analyzer to index the content of your images with ai.<br/>
⚠️ <span style="color: var(--text-accent)">If both AI Image Analyzer and Text Extractor are enabled, Text Extractor will only be used as a fallback.</span>`
})
new Setting(containerEl)
.setName(`Images AI indexing ${aiImageAnalyzer ? '' : '⚠️ Disabled'}`)