Docstores
BaseDocumentStore ¶
Bases: ABC
A document store is in charged of storing and managing documents
Source code in libs/kotaemon/kotaemon/storages/docstores/base.py
add
abstractmethod
¶
Add document into document store
Parameters:
Name | Type | Description | Default |
---|---|---|---|
docs
|
Union[Document, List[Document]]
|
Document or list of documents |
required |
ids
|
Optional[Union[List[str], str]]
|
List of ids of the documents. Optional, if not set will use doc.doc_id |
None
|
Source code in libs/kotaemon/kotaemon/storages/docstores/base.py
get
abstractmethod
¶
get_all
abstractmethod
¶
count
abstractmethod
¶
query
abstractmethod
¶
delete
abstractmethod
¶
ElasticsearchDocumentStore ¶
Bases: BaseDocumentStore
Simple memory document store that store document in a dictionary
Source code in libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
|
add ¶
Add document into document store
Parameters:
Name | Type | Description | Default |
---|---|---|---|
docs
|
Union[Document, List[Document]]
|
list of documents to add |
required |
ids
|
Optional[Union[List[str], str]]
|
specify the ids of documents to add or use existing doc.doc_id |
None
|
refresh_indices
|
bool
|
request Elasticsearch to update its index (default to True) |
True
|
Source code in libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py
query_raw ¶
Query Elasticsearch store using query format of ES client
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query
|
dict
|
Elasticsearch query format |
required |
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]: List of result documents |
Source code in libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py
query ¶
Search Elasticsearch docstore using search query (BM25)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query
|
str
|
query text |
required |
top_k
|
int
|
number of top documents to return. Defaults to 10. |
10
|
Returns:
Type | Description |
---|---|
List[Document]
|
List[Document]: List of result documents |
Source code in libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py
count ¶
get_all ¶
delete ¶
Delete document by id
Source code in libs/kotaemon/kotaemon/storages/docstores/elasticsearch.py
InMemoryDocumentStore ¶
Bases: BaseDocumentStore
Simple memory document store that store document in a dictionary
Source code in libs/kotaemon/kotaemon/storages/docstores/in_memory.py
add ¶
Add document into document store
Parameters:
Name | Type | Description | Default |
---|---|---|---|
docs
|
Union[Document, List[Document]]
|
list of documents to add |
required |
ids
|
Optional[Union[List[str], str]]
|
specify the ids of documents to add or use existing doc.doc_id |
None
|
exist_ok
|
raise error when duplicate doc-id found in the docstore (default to False) |
required |
Source code in libs/kotaemon/kotaemon/storages/docstores/in_memory.py
get ¶
get_all ¶
count ¶
delete ¶
save ¶
load ¶
Load document store from path
Source code in libs/kotaemon/kotaemon/storages/docstores/in_memory.py
query ¶
LanceDBDocumentStore ¶
Bases: BaseDocumentStore
LancdDB document store which support full-text search query
Source code in libs/kotaemon/kotaemon/storages/docstores/lancedb.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
|
add ¶
Load documents into lancedb storage.
Source code in libs/kotaemon/kotaemon/storages/docstores/lancedb.py
get ¶
Get document by id
Source code in libs/kotaemon/kotaemon/storages/docstores/lancedb.py
delete ¶
Delete document by id
Source code in libs/kotaemon/kotaemon/storages/docstores/lancedb.py
SimpleFileDocumentStore ¶
Bases: InMemoryDocumentStore
Improve InMemoryDocumentStore by auto saving whenever the corpus is changed
Source code in libs/kotaemon/kotaemon/storages/docstores/simple_file.py
add ¶
Add document into document store
Parameters:
Name | Type | Description | Default |
---|---|---|---|
docs
|
Union[Document, List[Document]]
|
list of documents to add |
required |
ids
|
Optional[Union[List[str], str]]
|
specify the ids of documents to add or use existing doc.doc_id |
None
|
exist_ok
|
raise error when duplicate doc-id found in the docstore (default to False) |
required |