You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SWIRL adapts and distributes queries to anything with a search API - search engines, databases, noSQL engines, cloud/SaaS services etc - and uses AI ([Large Language Models](https://techcrunch.com/2022/04/28/the-emerging-types-of-language-models-and-why-they-matter/)) to re-rank the unified results *without* extracting and indexing *anything*. It's intended for use by developers and data scientists who want to solve multi-silo search problems from enterprise search to new monitoring & alerting solutions that push information to users continuously.
12
+
Swirl Metasearch adapts and distributes queries to anything with a search API - search engines, databases, noSQL engines, cloud/SaaS services etc - and uses AI ([Large Language Models](https://techcrunch.com/2022/04/28/the-emerging-types-of-language-models-and-why-they-matter/)) to re-rank the unified results *without* extracting and indexing *anything*. It supports OAUTH2 integration with enterprise services including Microsoft 365, Atlassian, JetBrains YouTrack and more coming soon.
13
+
14
+
Using the updated Spyglass UI, knowledge workers can systematically review the best results from additional configured services including Apache [Solr](https://solr.apache.org/), [ChatGPT](https://openai.com/blog/chatgpt/), [Elastic](https://www.elastic.co/cn/downloads/elasticsearch), [OpenSearch](https://opensearch.org/downloads.html) | [PostgreSQL](https://www.postgresql.org/), [Google BigQuery](https://cloud.google.com/bigquery) plus generic HTTP/GET/JSON with configurations for premium services like [Google's Programmable Search Engine](https://programmablesearchengine.google.com/about/), [Miro](https://miro.com/app/) and [Northern Light Research](https://northernlight.com/).
Built on the Python/Django/RabbitMQ stack, SWIRL includes connectors to Apache [Solr](https://solr.apache.org/), [ChatGPT](https://openai.com/blog/chatgpt/), [Elastic](https://www.elastic.co/cn/downloads/elasticsearch), [OpenSearch](https://opensearch.org/downloads.html) | [PostgreSQL](https://www.postgresql.org/), [Google BigQuery](https://cloud.google.com/bigquery) plus generic HTTP/GET/JSON with configurations for premium services like [Google's Programmable Search Engine](https://programmablesearchengine.google.com/about/), [Miro](https://miro.com/app/) and [Northern Light Research](https://northernlight.com/).
18
+
Built on the Python/Django stack, Swirl is intended for use by search managers, developers, data scientists and engineers who want to solve multi-silo search problems - including notification services - without moving, re-indexing or re-permissioning sensitive information.
The most recent Search object will be displayed. Click the result_url to view the JSON Response.
78
+
:info: Swirl includes three (3) Google Programmable Search Engines (PSEs), complete with shared credentials, to get you up and running with right away. These credentials are shared with the SWIRL Community.
93
79
94
-
<details>
95
-
<summary>View JSON Response</summary>
80
+
:info: Using Swirl with Microsoft 365 requires installation and approval by an authorized company administrator. For more information please review the [M365 Guide](https://github.com/swirlai/swirl-search/wiki/5.-M365-Guide) or [contact us](mailto:[email protected]) for more information.
"body": "*Enterprise* *search* is the practice of making content from multiple *enterprise-type* sources, such as databases and intranets, *searchable* to a defined audience ...",
"body": "Accenture helps clients implement intelligent *enterprise* *search* solutions using AI technologies, such as natural language processing and machine learning.",
"body": "Intelligent *enterprise* *search* uses AI technologies, such as Natural Language Processing (NLP), semantic search, and Machine Learning (ML), to provide an engaged ...",
239
-
"date_published": "unknown",
240
-
"date_retrieved": "2023-01-21 15:02:53.745475",
241
-
"author": "",
242
-
"payload": {},
243
-
"explain": {
244
-
"stems": "enterpris search",
245
-
"title": {
246
-
"enterprise_search_*": 0.9294430473589433,
247
-
"Enterprise_Search_1": 0.9505501863924661,
248
-
"Enterprise_1": 0.8166240031067878,
249
-
"Search_2": 0.8792733859459471,
250
-
"result_length_adjust": 1.75,
251
-
"query_length_adjust": 1.0
252
-
},
253
-
"body": {
254
-
"enterprise_search_*": 0.7327504309736037,
255
-
"enterprise_search_1": 0.6809326651912151,
256
-
"enterprise_1": 0.6592383943038718,
257
-
"search_2": 0.5937011247188788,
258
-
"search_13": 0.6189125063789584,
259
-
"result_length_adjust": 1.0,
260
-
"query_length_adjust": 1.0
261
-
}
262
-
}
263
-
},
264
-
...etc...
265
-
```
266
-
</details>
267
-
268
-
<br/>
269
-
270
-
**Warning: The Docker version of SWIRL does *not* retain results or configuration when shut down!**
82
+
:Warning: The Docker version of SWIRL does *not* retain results or configuration when shut down!
*[Microsoft 365 integration and OAUTH2 support](https://github.com/swirlai/swirl-search/wiki/5.-M365-Guide)
111
+
298
112
*[SearchProvider configurations](https://github.com/swirlai/swirl-search/tree/main/SearchProviders) for all included Connectors. They can be [organized with the active, default and tags properties](https://github.com/swirlai/swirl-search/wiki/2.-User-Guide#organizing-searchproviders-with-active-default-and-tags).
299
113
300
114
*[Adaptation of the query for each provider](https://github.com/swirlai/swirl-search/wiki/2.-User-Guide#search-syntax) such as rewriting `NOT term` to `-term`, removing NOTted terms from providers that don't support NOT, and passing down the AND, + and OR operators.
301
115
302
116
*[Synchronous or asynchronous search federation](https://github.com/swirlai/swirl-search/wiki/3.-Developer-Guide#architecture) via [APIs](http://localhost:8000/swirl/swagger-ui/)
303
117
304
-
*[Optional subscribe feature](https://github.com/swirlai/swirl-search/wiki/2.-User-Guide#subscribing-to-a-search) to continuously monitor any search for new results
118
+
*[Optional subscribe feature](https://github.com/swirlai/swirl-search/wiki/2.-User-Guide#subscribing-to-a-search) to continuously monitor any search for new results
305
119
306
-
* Pipelining of [Processor](https://github.com/swirlai/swirl-search/wiki/3.-Developer-Guide#processors) stages for real-time adaptation and transformation of queries, responses and results
120
+
* Pipelining of [Processor](https://github.com/swirlai/swirl-search/wiki/3.-Developer-Guide#processors) stages for real-time adaptation and transformation of queries, responses and results
307
121
308
122
*[Results stored](https://github.com/swirlai/swirl-search/wiki/3.-Developer-Guide#result-object) in SQLite3 or PostgreSQL for post-processing, consumption and/or analytics
309
123
124
+
* Built-in [Query Transformation](https://github.com/swirlai/swirl-search/wiki/3.-Developer-Guide#query-transformations) support, including re-writing and replacement
125
+
310
126
*[Matching on word stems](https://github.com/swirlai/swirl-search/wiki/2.-User-Guide#relevancy) and [handling of stopword](https://github.com/swirlai/swirl-search/wiki/3.-Developer-Guide#stopwords-language) via NLTK
311
127
312
128
*[Duplicate detection](https://github.com/swirlai/swirl-search/wiki/2.-User-Guide#detecting-and-removing-duplicate-results) on field or by configurable Cosine Similarity threshold
0 commit comments