Update README.md
This commit is contained in:
123
README.md
123
README.md
@@ -45,128 +45,9 @@ information.
|
||||
|
||||
You can check the [CHANGELOG](./CHANGELOG.md) for more information on the different versions.
|
||||
|
||||
## Usage
|
||||
## Documentation
|
||||
|
||||
Omnisearch can be used within 2 different contexts:
|
||||
|
||||
### Vault Search
|
||||
|
||||
Omnisearch's core feature, accessible with the Command Palette "**_Omnisearch: Vault search_**". This modal searches
|
||||
through your vault and returns the most relevant notes. That's all you need to _find_ a note.
|
||||
|
||||
If you want to list all the search matches of a single note, you can do so by using `tab` to open the In-File Search.
|
||||
|
||||
### In-File Search
|
||||
|
||||
Also accessible through the Command Palette "**_Omnisearch: In-file search_**". This modal searches through the active
|
||||
note's content and lists the matching results. Just press enter to automatically scroll to the right place.
|
||||
|
||||
## URL Scheme & Public API
|
||||
|
||||
You can open Omnisearch with the following scheme: `obsidian://omnisearch?query=foo bar`
|
||||
|
||||
----
|
||||
|
||||
For plugin developers and Dataview users, Omnisearch is also accessible through the global
|
||||
object `omnisearch` (`window.omnisearch`)
|
||||
|
||||
> This API is an experimental feature, the `ResultNote` interface may change in the future. The `search()` function
|
||||
> returns at most 50 results.
|
||||
|
||||
```ts
|
||||
// API:
|
||||
type OmnisearchApi = {
|
||||
// Returns a promise that will contain the same results as the Vault modal
|
||||
search: (query: string) => Promise<ResultNoteApi[]>,
|
||||
// Refreshes the index
|
||||
refreshIndex: () => Promise<void>
|
||||
// Register a callback that will be called when the indexing is done
|
||||
registerOnIndexed: (callback: () => void) => void,
|
||||
// Unregister a callback that was previously registered
|
||||
unregisterOnIndexed: (callback: () => void) => void,
|
||||
}
|
||||
|
||||
type ResultNoteApi = {
|
||||
score: number
|
||||
path: string
|
||||
basename: string
|
||||
foundWords: string[]
|
||||
matches: SearchMatchApi[]
|
||||
excerpt: string
|
||||
}
|
||||
|
||||
type SearchMatchApi = {
|
||||
match: string
|
||||
offset: number
|
||||
}
|
||||
```
|
||||
|
||||
### Dataview Integration
|
||||
|
||||
You can use the Omnisearch API directly within the [Dataview](https://blacksmithgu.github.io/obsidian-dataview/) plugin.
|
||||
|
||||
~~~js
|
||||
```dataviewjs
|
||||
const results = await omnisearch.search('your query')
|
||||
const arr = dv.array(results).sort(r => r.score, 'desc')
|
||||
dv.table(['File', 'Score'], arr.map(o => [dv.fileLink(o.path), Math.round(o.score)]))
|
||||
```
|
||||
~~~
|
||||
|
||||
## CSS Customization
|
||||
|
||||
There are several CSS classes you can use to customize the appearance of Omnisearch.
|
||||
|
||||
```css
|
||||
.omnisearch-modal
|
||||
.omnisearch-result
|
||||
.omnisearch-result__title
|
||||
.omnisearch-result__counter
|
||||
.omnisearch-result__body
|
||||
.omnisearch-highlight
|
||||
.omnisearch-input-container
|
||||
.omnisearch-input-field
|
||||
```
|
||||
|
||||
See [styles.css](./assets/styles.css) for more information.
|
||||
|
||||
## Issues & Solutions
|
||||
|
||||
**Omnisearch makes Obsidian sluggish/freeze at startup.**
|
||||
|
||||
- While Omnisearch does its best to work smoothly in the background, bigger vaults and files can make Obsidian stutter
|
||||
during indexing.
|
||||
- If you have several thousands of files, Obsidian may freeze a few seconds at startup while the Omnisearch cache is
|
||||
loaded in memory.
|
||||
|
||||
**Omnisearch seems to make Obsidian slower.**
|
||||
|
||||
- Once Obsidian has indexed your files at startup, it doesn't do anything while its modal is closed. Your changes are
|
||||
not indexed until you open the modal again. If you experience slowdowns while using Obsidian, it's unlikely that
|
||||
Omnisearch is responsible.
|
||||
- However, Text Extractor can make Obsidian slower while indexing PDFs and images for the first time. If you don't need
|
||||
those features, you can disable them in the plugin settings.
|
||||
|
||||
**Omnisearch is slow to index my PDFs and images**
|
||||
|
||||
- The first time Text Extractor reads those files, it can take a long time to extract their text. The results are then
|
||||
cached for the text startup.
|
||||
|
||||
**Omnisearch gives inconsistent/invalid results, there are errors in the developer console**
|
||||
|
||||
- Restart Obsidian to force a reindex of Omnisearch.
|
||||
- The cache could be corrupted; you can clear it at the bottom of the settings page, then restart Obsidian.
|
||||
|
||||
**A query should return a result that does not appear.**
|
||||
|
||||
- If applicable, make sure that "*Ignore diacritics*" is enabled.
|
||||
- If you have modified them, reset weightings to their original values.
|
||||
- Rewrite your query and avoid numbers and common words.
|
||||
|
||||
**I'm still having an issue**
|
||||
|
||||
You can write your issue [here](https://github.com/scambier/obsidian-omnisearch/issues) with as much details as
|
||||
possible.
|
||||
https://publish.obsidian.md/omnisearch/Index
|
||||
|
||||
## LICENSE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user