mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
integrate new search into the main global search
This commit is contained in:
parent
cb4d0624b5
commit
b5627b138a
44
package-lock.json
generated
44
package-lock.json
generated
@ -3385,9 +3385,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"electron-debug": {
|
"electron-debug": {
|
||||||
"version": "3.0.1",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/electron-debug/-/electron-debug-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/electron-debug/-/electron-debug-3.1.0.tgz",
|
||||||
"integrity": "sha512-fo3mtDM4Bxxm3DW1I+XcJKfQlUlns4QGWyWGs8OrXK1bBZ2X9HeqYMntYBx78MYRcGY5S/ualuG4GhCnPlaZEA==",
|
"integrity": "sha512-SWEqLj4MgfV3tGuO5eBLQ5/Nr6M+KPxsnE0bUJZvQebGJus6RAcdmvd7L+l0Ji31h2mmrN23l2tHFtCa2FvurA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"electron-is-dev": "^1.1.0",
|
"electron-is-dev": "^1.1.0",
|
||||||
"electron-localshortcut": "^3.1.0"
|
"electron-localshortcut": "^3.1.0"
|
||||||
@ -3568,29 +3568,19 @@
|
|||||||
"integrity": "sha1-UJ5RDCala1Xhf4Y6SwThEYRqsns="
|
"integrity": "sha1-UJ5RDCala1Xhf4Y6SwThEYRqsns="
|
||||||
},
|
},
|
||||||
"electron-is-dev": {
|
"electron-is-dev": {
|
||||||
"version": "1.1.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-1.2.0.tgz",
|
||||||
"integrity": "sha512-Z1qA/1oHNowGtSBIcWk0pcLEqYT/j+13xUw/MYOrBUOL4X7VN0i0KCTf5SqyvMPmW5pSPKbo28wkxMxzZ20YnQ=="
|
"integrity": "sha512-R1oD5gMBPS7PVU8gJwH6CtT0e6VSoD0+SzSnYpNm+dBkcijgA+K7VAMHDfnRq/lkKPZArpzplTW6jfiMYosdzw=="
|
||||||
},
|
},
|
||||||
"electron-localshortcut": {
|
"electron-localshortcut": {
|
||||||
"version": "3.1.0",
|
"version": "3.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/electron-localshortcut/-/electron-localshortcut-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/electron-localshortcut/-/electron-localshortcut-3.2.1.tgz",
|
||||||
"integrity": "sha512-MgL/j5jdjW7iA0R6cI7S045B0GlKXWM1FjjujVPjlrmyXRa6yH0bGSaIAfxXAF9tpJm3pLEiQzerYHkRh9JG/A==",
|
"integrity": "sha512-DWvhKv36GsdXKnaFFhEiK8kZZA+24/yFLgtTwJJHc7AFgDjNRIBJZ/jq62Y/dWv9E4ypYwrVWN2bVrCYw1uv7Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "^2.6.8",
|
"debug": "^4.0.1",
|
||||||
"electron-is-accelerator": "^0.1.0",
|
"electron-is-accelerator": "^0.1.0",
|
||||||
"keyboardevent-from-electron-accelerator": "^1.1.0",
|
"keyboardevent-from-electron-accelerator": "^2.0.0",
|
||||||
"keyboardevents-areequal": "^0.2.1"
|
"keyboardevents-areequal": "^0.2.1"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"debug": {
|
|
||||||
"version": "2.6.9",
|
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
|
||||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
|
||||||
"requires": {
|
|
||||||
"ms": "2.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"electron-notarize": {
|
"electron-notarize": {
|
||||||
@ -6507,9 +6497,9 @@
|
|||||||
"integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ=="
|
"integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ=="
|
||||||
},
|
},
|
||||||
"keyboardevent-from-electron-accelerator": {
|
"keyboardevent-from-electron-accelerator": {
|
||||||
"version": "1.1.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-2.0.0.tgz",
|
||||||
"integrity": "sha512-VDC4vKWGrR3VgIKCE4CsXnvObGgP8C2idnTKEMUkuEuvDGE1GEBX9FtNdJzrD00iQlhI3xFxRaeItsUmlERVng=="
|
"integrity": "sha512-iQcmNA0M4ETMNi0kG/q0h/43wZk7rMeKYrXP7sqKIJbHkTU8Koowgzv+ieR/vWJbOwxx5nDC3UnudZ0aLSu4VA=="
|
||||||
},
|
},
|
||||||
"keyboardevents-areequal": {
|
"keyboardevents-areequal": {
|
||||||
"version": "0.2.2",
|
"version": "0.2.2",
|
||||||
@ -10338,9 +10328,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"sqlite": {
|
"sqlite": {
|
||||||
"version": "4.0.7",
|
"version": "4.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/sqlite/-/sqlite-4.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/sqlite/-/sqlite-4.0.8.tgz",
|
||||||
"integrity": "sha512-1bBO+me3gXRfqwRR3K9aNDoSbTkQ87o6fSjj/BE2gSHHsK3qIDR+LoFZHgZ6kSPdFBoLTsy5/w/+8PBBaK+lvg=="
|
"integrity": "sha512-MOy63kITfjJnZimrwgQ50+L83J3IBPjuyTZ98YooAmSXdLtfGHDTMgH5csWturZ/mzm4TafLvtjkIbhmQVNgcw=="
|
||||||
},
|
},
|
||||||
"sqlite3": {
|
"sqlite3": {
|
||||||
"version": "4.1.1",
|
"version": "4.1.1",
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
"dayjs": "1.8.27",
|
"dayjs": "1.8.27",
|
||||||
"debug": "4.1.1",
|
"debug": "4.1.1",
|
||||||
"ejs": "3.1.3",
|
"ejs": "3.1.3",
|
||||||
"electron-debug": "3.0.1",
|
"electron-debug": "3.1.0",
|
||||||
"electron-dl": "3.0.0",
|
"electron-dl": "3.0.0",
|
||||||
"electron-find": "1.0.6",
|
"electron-find": "1.0.6",
|
||||||
"electron-window-state": "5.0.3",
|
"electron-window-state": "5.0.3",
|
||||||
@ -67,7 +67,7 @@
|
|||||||
"serve-favicon": "2.5.0",
|
"serve-favicon": "2.5.0",
|
||||||
"session-file-store": "1.4.0",
|
"session-file-store": "1.4.0",
|
||||||
"simple-node-logger": "18.12.24",
|
"simple-node-logger": "18.12.24",
|
||||||
"sqlite": "4.0.7",
|
"sqlite": "4.0.8",
|
||||||
"sqlite3": "4.1.1",
|
"sqlite3": "4.1.1",
|
||||||
"string-similarity": "4.0.1",
|
"string-similarity": "4.0.1",
|
||||||
"tar-stream": "2.1.2",
|
"tar-stream": "2.1.2",
|
||||||
|
@ -48,8 +48,8 @@ export default class SearchResultsWidget extends BasicWidget {
|
|||||||
for (const result of results) {
|
for (const result of results) {
|
||||||
const link = $('<a>', {
|
const link = $('<a>', {
|
||||||
href: 'javascript:',
|
href: 'javascript:',
|
||||||
text: result.title
|
text: result.notePathTitle
|
||||||
}).attr('data-action', 'note').attr('data-note-path', result.path);
|
}).attr('data-action', 'note').attr('data-note-path', result.notePath);
|
||||||
|
|
||||||
const $result = $('<li>').append(link);
|
const $result = $('<li>').append(link);
|
||||||
|
|
||||||
|
@ -4,15 +4,15 @@ const repository = require('../../services/repository');
|
|||||||
const noteCacheService = require('../../services/note_cache/note_cache.js');
|
const noteCacheService = require('../../services/note_cache/note_cache.js');
|
||||||
const log = require('../../services/log');
|
const log = require('../../services/log');
|
||||||
const scriptService = require('../../services/script');
|
const scriptService = require('../../services/script');
|
||||||
const searchService = require('../../services/search');
|
const searchService = require('../../services/search/search');
|
||||||
|
|
||||||
async function searchNotes(req) {
|
async function searchNotes(req) {
|
||||||
const noteIds = await searchService.searchForNoteIds(req.params.searchString);
|
const notePaths = await searchService.searchNotes(req.params.searchString);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return {
|
return {
|
||||||
success: true,
|
success: true,
|
||||||
results: noteIds.map(noteCacheService.getNotePath).filter(res => !!res)
|
results: notePaths
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
|
@ -13,6 +13,7 @@ const PROP_MAPPING = {
|
|||||||
"type": "type",
|
"type": "type",
|
||||||
"mime": "mime",
|
"mime": "mime",
|
||||||
"isprotected": "isProtected",
|
"isprotected": "isProtected",
|
||||||
|
"isarhived": "isArchived",
|
||||||
"datecreated": "dateCreated",
|
"datecreated": "dateCreated",
|
||||||
"datemodified": "dateModified",
|
"datemodified": "dateModified",
|
||||||
"utcdatecreated": "utcDateCreated",
|
"utcdatecreated": "utcDateCreated",
|
||||||
|
@ -75,6 +75,23 @@ async function findNotesWithQuery(query, parsingContext) {
|
|||||||
return await findNotesWithExpression(expression);
|
return await findNotesWithExpression(expression);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function searchNotes(query) {
|
||||||
|
if (!query.trim().length) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
const parsingContext = new ParsingContext({
|
||||||
|
includeNoteContent: true,
|
||||||
|
fuzzyAttributeSearch: false
|
||||||
|
});
|
||||||
|
|
||||||
|
let searchResults = await findNotesWithQuery(query, parsingContext);
|
||||||
|
|
||||||
|
searchResults = searchResults.slice(0, 200);
|
||||||
|
|
||||||
|
return searchResults;
|
||||||
|
}
|
||||||
|
|
||||||
async function searchNotesForAutocomplete(query) {
|
async function searchNotesForAutocomplete(query) {
|
||||||
if (!query.trim().length) {
|
if (!query.trim().length) {
|
||||||
return [];
|
return [];
|
||||||
@ -85,7 +102,7 @@ async function searchNotesForAutocomplete(query) {
|
|||||||
fuzzyAttributeSearch: true
|
fuzzyAttributeSearch: true
|
||||||
});
|
});
|
||||||
|
|
||||||
let searchResults = findNotesWithQuery(query, parsingContext);
|
let searchResults = await findNotesWithQuery(query, parsingContext);
|
||||||
|
|
||||||
searchResults = searchResults.slice(0, 200);
|
searchResults = searchResults.slice(0, 200);
|
||||||
|
|
||||||
@ -154,6 +171,7 @@ function formatAttribute(attr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
searchNotes,
|
||||||
searchNotesForAutocomplete,
|
searchNotesForAutocomplete,
|
||||||
findNotesWithQuery
|
findNotesWithQuery
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user