Releases: swirlai/swirl-search
Swirl Metasearch 2.5.1
Team Swirl is announcing General Availability of Swirl 2.5.1!
This release features three new SearchProviders (arXiv.org, EuropePMC.org, and LinkedIn profiles via Google PSE), enhanced result processing to handle XML responses from source APIs, plus updates to the ChatGPT Connector
and QueryProcessor
to support the latest GPT-3.5-Turbo and GPT-4 models.
🥇 We would also like to give a shout out to GitHub user Rajpratik71 for his contribution to this release which improved our Dockerfile
configuration. Many thanks for contributing to Swirl!
PLEASE STAR OUR REPO: https://github.com/swirlai/swirl-search
New Features
🔹 Both the ChatGPT Connector
and QueryProcessor
were updated to use OpenAI's ChatCompletion
method which supports the latest GPT models - including GPT-4 - and a much greater range of interactivity.
- Three new Tags and one new
query_mapping
option are available for the ChatGPT SearchProvider to help shape the Prompt or Default Role passed to ChatGPT along with the user's query. - The ChatGPT SearchProvder now queries the GPT-3.5-Turbo model by default.
🔹 Search LinkedIn profiles with the new LinkedIn Google PSE and SearchProvider.
🔹 Search the academic paper collections of arXiv.org and EuropePMC.org with new SearchProivders for each.
🔹 New result processing to handle XML responses from source APIs; see this in action with the arXiv.org SearchProvider.
🔹 Swirl's Dockerfile
now uses the --no-cache-dir
flag with pip
to save space.
Thanks to GitHub user Rajpratik71 for this contribution!
Improvements
🔹 The Subscribe functionality was reworked to better handle Microsoft Authentication for subscribe runs that include M365 sources.
🔹 Some default SearchProviders have additional Tags: Internal
or Develop
. See the documentation for details about targeting specific groups of sources using SearchProvider Tags.
🔹 The install.sh
script was further enhanced to synchronize spaCy model and code version updates.
Resolved Issues
🔹 Addressed an issue where Swirl could hang due to very long source repsonse times. Swirl's default timeout value in swirl_server/settings.py
is now: SWIRL_TIMEOUT_DEFAULT = 10
🔹 Corrected a count inconsistency in the CosineRelevancyResultProcessor
🔹 Removed duplicate entries from urls.py
🔹 Fixed a regression where unmatched Tags were being dropped in searches
🔹 ChatGPT no longer returns a 500 error when enabled for Subscribed searches
🔹 After authenticating to Mircosoft in the Galaxy UI, the first search run now correctly includes M365 resutls
🔹 Addressed an issue with date-sorting in the M365 sources:
- The default date-sort for M365 sources is:
DEFAULT_DATESORT_X = "createdDateTime desc"
- This can be overridden by setting
DATE_SORT
in the SearchProviderquery_mapping
- Owners of a Search object or Swirl's Subscribe feature can set the
sort
attribute on a Search
Known Issues
🔹 Clicking a Microsoft Teams result sometimes results in this error from the Teams app:
We cannot take you to that message because it's in a chat you're not in.
For Teams links to resolve correctly, you must have the Microsoft Teams app open before clicking the result link.
🔹 Creating searches from a browser with q= can sometimes create two Search objects.
This is because of browser prefetch AKA predictive service. Turn off Chrome prediction service. Turn off Safari prefetch.
Please report any issues with this to support.
Upgrading
Documentation
Overview | Quick Start | User Guide | Admin Guide | M365 Guide | Developer Guide | Developer Reference
(updated links on 13-October-2023)
Support
🔹 Join the Swirl Metasearch Community on Slack!
🔹 Email: [email protected] with issues, requests, questions, etc - we'd love to hear from you!
Swirl Metasearch 2.5
Team Swirl is announcing General Availability of Swirl 2.5!
The theme for this release was performance. Configured with 12 SearchProviders, Swirl 2.5 supports up to 15 queries/second on a Standard F16s v2 server (16 vcpus, 32 GiB memory) with a median response time of 3 seconds.
PLEASE STAR OUR REPO: https://github.com/swirlai/swirl-search
New Features
Performance Improvements
🔹 Swirl's asynchronous back-end was refactored to use the group
method and replaced RabbitMQ with Redis
🔹 Relevancy processing was split into two stages to improve performance
- The revised
CosineRelevancyPostResultProcessor
must be in theSearch.post_result_processors
list. - Please review the JSON in the
SearchProviders/
directory and update existing configurations to match.
HubSpot SearchProviders
🔹 Search Company, Contact, and Deal records with new token-based HubSpot SearchProviders
- HubSpot requires creation of a "Private Apps" API token by the Super Admin with these scopes
- In
result_mappings
, theurl
mapping must contain the HubSpot Org ID
Improvements
🔹 The DateFindingResultProcessor
was added to the Google PSE SearchProvider JSON. It finds a date in a large percentage of results that otherwise wouldn't have one, and copies the date to the date_published
field. Existing PSE SearchProvider configurations should be updated as follows:
"result_processors": [
"MappingResultProcessor",
"DateFinderResultProcessor",
"CosineRelevancyResultProcessor"
],
🔹 Swirl's control script (python swirl.py
) was updated
- A
default
key was added to the services list, includingdebug
, inswirl/services.py
- The
celery-beats
service was set todefault: False
swirl.py
was modified to load only services withdefault: True
To use the subscribe or expiration features, celery-beats
must be started manually:
python swirl.py start celery-beats
Celery-beats
must also be stopped separately.
🔹 Swirl now outputs a single log entry with each request at the default log level INFO
2023-08-02 10:49:09,466 INFO admin search 452 FULL_RESULTS_READY 32 2.2
Detailed logging is available in Debug mode: restart Swirl with the --debug
flag to enable
🔹 The install.sh
script was refactored to better handle spaCy upgrades
🔹 Swirl's Docker image was updated to use the latest, stable release of Python, version 3.11.4
🔹 Use of the unsafe eval()
function was removed
Resolved Issues
🔹 Swirl's log files now persist and append new entries across restarts
🔹 The SearchProvider configurations for Elastic, OpenSearch, and Microsoft Outlook Messages were updated
🔹 A seesion-related issue in the connectors for Sqlite3, PostgreSQL, and Elastic was fixed
🔹 Errors in the DedupeByFieldResultProcessor
were addressed
🔹 The SearchProvider results_per_query
value is handled correctly now
🔹 An issue where some searches didn't appear to reach the Swirl backend was fixed
🔹 Unnecessary WARNING messages were removed from the logs
🔹 Result URLs on Search objects are now constructed correctly using the Request instead of loading from django settings
Known Issues
🔹 Clicking a Microsoft Teams result sometimes results in this error from the MS Teams app:
We cannot take you to that message because it's in a chat you're not in.
For Teams links to resolve correctly, you must have the Microsoft Teams app open before clicking the result link.
🔹 Subscribed searches are not returning results for Microsoft sources; this will be addressed in an upcoming release.
🔹 Creating searches from a browser with q= can sometimes create two Search objects.
This is because of browser prefetch AKA predictive service. Turn off Chrome prediction service. Turn off Safari prefetch.
Please report any issues with this to support.
Upgrading
CosineRelevancyResultProcessor
must be added last to the result_processors
block of all SearchProvider configurations except ChatGPT. For example:
"result_processors": [
"MappingResultProcessor",
"LenLimitingResultProcessor",
"CosineRelevancyResultProcessor"
],
This following of Error message in the Swirl logs indicates that one or more SearchProviders have not been updated:
INFO search.py: invoking processor: CosineRelevancyPostResultProcessor
2023-07-31 16:31:39,268 ERROR CosineRelevancyPostResultProcessor_2051: Error: Dictionary of result lengths is empty. Was CosineRelevancyResultProcessor included in Search Providers Processor configuration?
- Elastic: Remove
hosts=
andhttp-auth=
(just that text, not the values that follow) - OpenSearch: Update the
query_template
syntax to the following:
"query_template": "{\"query\":{\"query_string\":{\"query\":\"{query_string}\",\"default_field\":\"{default_field}\",\"default_operator\":\"and\"}}}",
- Microsoft Outlook Messages: Update both
result_grouping_field
andresult_processors
to the following:
"result_grouping_field": "conversationId",
"result_processors": [
"MappingResultProcessor",
"DedupeByFieldResultProcessor",
"CosineRelevancyResultProcessor"
],
Documentation
Overview | Quick Start | User Guide | Admin Guide | M365 Guide | Developer Guide | Developer Reference
(updated links on 13-October-2023)
Support
🔹 Join the Swirl Metasearch Community on Slack!
🔹 Email: [email protected] with issues, requests, questions, etc - we'd love to hear from you!
Swirl Metasearch 2.1.1
This update addresses an issue in the OpenSearch, Elasticsearch, and PostgreSQL connectors.
PLEASE STAR OUR REPO: https://github.com/swirlai/swirl-search
Resolved Issues
🔹 The OpenSearch, Elasticsearch, and PostgreSQL connectors were updated to address an issue that resulted in a positional argument
error. Please update your Swirl instance to v. 2.1.1 to correct this error.
Known Issues
🔹 Creating searches from a browser with q= can sometimes create two Search objects.
This is because of browser prefetch AKA predictive service. Turn off Chrome prediction service. Turn off Safari prefetch.
Please report any issues with this to support.
Upgrading
Documentation Wiki
🔹 Quick Start
🔹 User Guide
🔹 Admin Guide
🔹 M365 Guide
🔹 Developer Guide
🔹 Developer Reference
Support
🔹 Join the Swirl Metasearch Community on Slack!
🔹 Create a GitHub Issue if something doesn't work, isn't clear, or should be documented
🔹 Email: [email protected] with issues, requests, questions, etc - we'd love to hear from you!
Swirl Metasearch 2.1
Team Swirl is announcing General Availability of Swirl Metasearch 2.1!
This version features the new Galaxy User Interface with Dark Mode, new GitHub SearchProviders, support for custom request headers, a new DateFinderResultProcessor
that finds dates in the body field and copies them to date_published
, plus new Result Processors for trimming and cleaning long responses. 2.1 also improves handling of recurring Microsoft 365 Calendar events and Outlook Message threads, showing only the most recent.
PLEASE STAR OUR REPO: https://github.com/swirlai/swirl-search
New Features
🔹 Search public repositories with token-based GitHub SearchProviders for Code, Commits, Pull Requests, and Issues
🔹 Micrsoft 365 Calendar Events pre-configured SearchProvider with automatic hiding of recurring meetings
🔹 New date_published_display
option available in SearchProvider result_mappings
You can now specify different values for date_published
and date_published_display
in SearchProvider configurations:
"result_mappings": ... date_published=foo.bar.date1,date_published_display=foo.bar.date2 ...
Swirl Result objects will reflect both date values:
"date_published": "2010-01-01 00:00:00",
"date_published_display": "c2010",
And, the new Galaxy UI displays date_published_display
while date-sorting by date_published
:
🔹 Pass custom HTTP Header values in SearchProviders
The optional http_request_headers
field is available to all SearchProviders for passing custom HTTP Header values to the source alongside the user's query. The new GitHub SearchProviders use this feature to return a more accurate result snippet from GitHub that is then mapped to Swirl's body
field:
"http_request_headers": {
"Accept": "application/vnd.github.text-match+json"
},
"result_mappings": "title=name,body=text_matches[*].fragment, ...
🔹 New Result Processor: LenLimitingResultProcessor
This processor checks to see if the title
and body
responses from a source exceed a configurable length, truncates anything after that value, and adds an elipsis ("..."). If the body
field has been truncated, the processor reports the entire response in a new body_full
field in the Payload. The default max_length
value for this processor is set in swirl_server/settings.py
: SWIRL_MAX_FIELD_LEN = 512
and can be overridden for a specific SearchProvider using a new Tag value (max_length:###
):
"tags": [
"Articles",
"Wiki",
"YouTrack",
"max_length:256"
]
The processor reports on the number of items updated as expected. It should be considered for sources that consistently return lengthy title
or body
fields and should follow the MappingResultProcessor
. The default SearchProvider configurations for Atlassian Jira and Confluence have been updated with this processor.
"result_processors": [
"MappingResultProcessor",
"LenLimitingResultProcessor"
],
🔹 New Result Processor: CleanTextResultProcessor
This processor removes non-alphanumeric characters from the source response. It should be considered for lengthy responses where URLs or other HTML or Markdown syntax appear in results. It should be installed before the LenLimitingResultProcessor
when both are used. The default SearchProvider configurations for JetBrains YouTrack have been updated with these processors.
"result_processors": [
"MappingResultProcessor",
"CleanTextResultProcessor",
"LenLimitingResultProcessor"
],
🔹 New Result Processor: DateFinderResultProcessor
This processor looks for a date in any of the following forms in the body
field of each result item. Should it find one, and the date_published
for that item is 'unknown'
, it replaces date_published
with the date extracted from the body
, and notes this in the result.messages
. This processor can detect the following date formats:
06/01/23
06/01/2023
06-01-23
06-01-2023
jun 1, 2023
june 1, 2023
Improvements
🔹 Updates to the genericRequestsPost
connector and example SearchProvider JSON
🔹 Refined handling of threaded email messages in Outlook Messages results
🔹 Updated sorting of the search page Source dropdown and the result page Source facet in the Galaxy UI
🔹 Adjusted default Relevancy weight values to improve the relevancy ranking of shorter results
Resolved Issues
🔹 Re-running the previous search is now supported correctly in the Galaxy UI
🔹 An issue with Microsoft Authorization logout has been fixed
🔹 Clearing the search form now clears the previous Sort ("View By") selection correctly
🔹 Result Mixer choices are no long retained across searches
🔹 Result list numbering now displays correctly if Swirl's url
field is not mapped
🔹 Various isssues with SearchProvider Tag searching were addressed
Known Issues
🔹 Creating searches from a browser with q= can sometimes create two Search objects.
This is because of browser prefetch AKA predictive service. Turn off Chrome prediction service. Turn off Safari prefetch.
Please report any issues with this to support.
Upgrading
Documentation Wiki
🔹 Quick Start
🔹 User Guide
🔹 Admin Guide
🔹 M365 Guide
🔹 Developer Guide
🔹 Developer Reference
Support
🔹 Join the Swirl Metasearch Community on Slack!
🔹 Create a GitHub Issue if something doesn't work, isn't clear, or should be documented
🔹 Email: [email protected] with issues, requests, questions, etc - we'd love to hear from you!
Swirl Metasearch 2.0.3
Swirl Metasearch 2.0.3
This version adds a generic RequestsPost
Connector and example SearchProvider.
PLEASE STAR OUR REPO: https://github.com/swirlai/swirl-search
New Features
🔹 A new RequestsPost
Connector and example SearchProvider are available as of this release. See the Developer Reference Guide for more details, or Contact Support for help getting started.
Known Issues
🔹 Creating searches from a browser with q= can sometimes create two Search objects.
This is because of browser prefetch AKA predictive service. Turn off Chrome prediction service. Turn off Safari prefetch.
Please report any issues with this to support.
Upgrading
Documentation Wiki
🔹 Quick Start
🔹 User Guide
🔹 Admin Guide
🔹 M365 Guide
🔹 Developer Guide
🔹 Developer Reference
Support
🔹 Join the Swirl Metasearch Community on Slack!
🔹 Create a GitHub Issue if something doesn't work, isn't clear, or should be documented
🔹 Email: [email protected] with issues, requests, questions, etc - we'd love to hear from you!
Swirl Metasearch 2.0.2
Swirl Metasearch 2.0.2
Swirl Metasearch 2.0.2 adds support for the X-Api-Key
authentication method to SearchProviders.
PLEASE STAR OUR REPO: https://github.com/swirlai/swirl-search
New Features
🔹 The X-Api-Key
authentication method is now supported in RequestsGet
and RequestsPost
SearchProviders.
Known Issues
🔹 Creating searches from a browser with q= can sometimes create two Search objects.
This is because of browser prefetch AKA predictive service. Turn off Chrome prediction service. Turn off Safari prefetch.
Please report any issues with this to support.
Upgrading
Documentation Wiki
🔹 Quick Start
🔹 User Guide
🔹 Admin Guide
🔹 M365 Guide
🔹 Developer Guide
🔹 Developer Reference
Support
🔹 Join the Swirl Metasearch Community on Slack!
🔹 Create a GitHub Issue if something doesn't work, isn't clear, or should be documented
🔹 Email: [email protected] with issues, requests, questions, etc - we'd love to hear from you!
Swirl Metasearch 2.0.1
Swirl Metasearch 2.0.1
Swirl Metasearch 2.0.1 improves default relevancy ranking, especially for some M365 SearchProvider results.
PLEASE STAR OUR REPO: https://github.com/swirlai/swirl-search
Improvements
🔹 Default relevancy weights and similarity thresholds were adjusted to improve overall relevancy ranking, especially for M365 sources.
Known Issues
🔹 Creating searches from a browser with q= can sometimes create two Search objects.
This is because of browser prefetch AKA predictive service. Turn off Chrome prediction service. Turn off Safari prefetch.
Please report any issues with this to support.
Upgrading
Documentation Wiki
🔹 Quick Start
🔹 User Guide
🔹 Admin Guide
🔹 M365 Guide
🔹 Developer Guide
🔹 Developer Reference
Support
🔹 Join the Swirl Metasearch Community on Slack!
🔹 Create a GitHub Issue if something doesn't work, isn't clear, or should be documented
🔹 Email: [email protected] with issues, requests, questions, etc - we'd love to hear from you!
Swirl Metasearch 2.0
Swirl Metasearch 2.0
We are proud to annouce Swirl Metaseearch 2.0 - a major new version featuring enterprise-grade OAUTH2 support plus pre-configured connectors to Microsoft 365 Outlook, OneDrive, Teams and Sharepoint! Using the updated Spyglass UI, knowledge workers can systematically review the best results from their enterprise services, including search engines like Elastic, Solr, AWS OpenSearch, databases like PostgreSQL and Google BigQuery, plus online services like Northern Light Research and Miro.com.
PLEASE STAR OUR REPO: https://github.com/swirlai/swirl-search
New Features
🔹 Microsoft 365 Integration
This update of Spyglass includes a clean new layout, a live source facet, and the option to view results by relevancy, date or the top pick from each source. Swirl 2.0 can also be quickly and securely integrated with M365 as described in the new M365 Guide.
🔹 Query Transformations
Swirl now includes built in Query Transformations, including re-writing and replacement of matching terms. Full details are in the updated Developer's Guide.
🔹 Separate Blocks for Specific SearchProvider Results
ChatGPT's commentary on each query can now be presented separately on the results page.
🔹 New Options for SearchProvider result_mappings
Swirl now supports the FILE_SYSTEM
directive, which causes the CosineRelevancyPostResultProcessor
to boost matches in body
when there are no matches in title
. This is the default for Microsoft OneDrive.
Swirl also supports the BLOCK=some-block-name
directive. This is configured by default for ChatGPT, as noted above.
Improvements
🔹 Simplified PAYLOAD field display - Swirl now displays just the right-most JSON key for maximum readability
🔹 Improved handling of Unix timestamp variations from sources
🔹 Refined handling of nested source response in JSON
Resolved Issues
🔹 Fixed issue with NOT searches being incorrectly handled in some cases
🔹 Addressed issues in Subscribe functionality
🔹 Hit highlighting: SWIRL adds a space before matching terms next to a comma #119
🔹 Removed single-processor properties
Known Issues
🔹 Creating searches from a browser with q= can sometimes create two Search objects.
This is because of browser prefetch AKA predictive service. Turn off Chrome prediction service. Turn off Safari prefetch.
Please report any issues with this to support.
Upgrading
Documentation Wiki
🔹 Quick Start
🔹 User Guide
🔹 Admin Guide
🔹 M365 Guide
🔹 Developer Guide
🔹 Developer Reference
Support
🔹 Join the Swirl Metasearch Community on Slack!
🔹 Create a GitHub Issue if something doesn't work, isn't clear, or should be documented
🔹 Email: [email protected] with issues, requests, questions, etc - we'd love to hear from you!
Swirl Metasearch 1.10.1
SWIRL SEARCH 1.10.1
This version adds SearchProviders for Atlassian's Confluence and Jira Cloud services.
PLEASE STAR OUR REPO: https://github.com/swirlai/swirl-search
New Features
🔹 New Atlassian SearchProviders allow searching through Confluence and Jira content.
Here's the new Confluence provider JSON:
{
"name": "Wiki (web/Atlassian.com)",
"active": false,
"default": false,
"connector": "RequestsGet",
"url": "https://<your-domain>.atlassian.net/wiki/rest/api/content/search?expand=history,space,metadata.labels.results,children.attachment,children.page,children.comment,ancestors,body.view",
"query_template": "{url}&cql=text~'{query_string}'",
"query_processor": "",
"query_processors": [
"AdaptiveQueryProcessor"
],
"query_mappings": "",
"result_processor": "",
"result_processors": [
"MappingResultProcessor"
],
"response_mappings": "FOUND=size,RESULTS=results",
"result_mappings": "title=title,body=body[*].view[*].value,author=history[*].createdBy[*].publicName,date_published=history[*].createdDate,url='https://<your-domain>.atlassian.net/wiki{_links[*].webui}',space.name,metadata[*].labels[*].results[*].name,children[*].attachment[*].results[*].title,children[*].page[*].results[*].title,ancestors[*].title,NO_PAYLOAD",
"results_per_query": 10,
"credentials": "HTTPBasicAuth('<your-username>','<your-atlassian-token>')",
"tags": [
"Confluence",
"Articles",
"Wiki",
"Atlassian"
]
}
Here is an example result in JSON:
{
"swirl_rank": 3,
"swirl_score": 86.49796345374605,
"searchprovider": "Wiki (web/Atlassian.com)",
"searchprovider_rank": 2,
"title": "Testing Space",
"url": "https://testingbw.atlassian.net/wiki/spaces/TS/overview",
"body": "Welcome to your team space! We've added some suggestions and placeholders. Everything is customizable. Get started with page templates: Template - Project plan Template - <em>Meeting</em> <em>notes</em> Template - Weekly status report Check out Get the most out of your team space for more tips. About Chat GPT Confluence: Confluence is a collaboration tool that enables teams to create, organize, and share their knowledge. It provides features such as document collaboration, team communication, and content management. Mission and vision What is your team's mission? What is your vision? <em>Meet</em> the team Add team members to your space. Team member Role Responsibility Team member Role Responsibility Team member Role Responsibility Contact us How can someone reach out to your team? [email protected] Tickets Jira board #channel Important Pages List them here Onboarding FAQs Add resources for new hires <em>Meeting</em> <em>notes</em> Add links to <em>meeting</em> <em>notes</em> Team goals List them here Team news Create a blog post to share team news. It will automatically appear here once it's published. Blog stream Create a blog post to share news and announcements with your team and company. Create blog post",
"date_published": "2023-03-28 16:54:28.874000+00:00",
"date_retrieved": "2023-04-14 11:13:38.740897",
"author": "Jason Temple",
"title_hit_highlights": [],
"body_hit_highlights": [],
"payload": {
"space.name": "Testing Space",
"children[*].attachment[*].results[*].title": [
"astronaut.svg",
"ledger.svg",
"raised_hand.svg",
"claudia.svg",
"gael.svg",
"angie.svg",
"header_team_space.svg"
],
"children[*].page[*].results[*].title": [
"Template - Project plan",
"Template - Meeting notes",
"Template - Weekly status report",
"Get the most out of your team space"
]
}
}
Here's another result in the Spyglass UI:
Resolved Issues
🔹 Result mappings now support underscore values within curly brace notation
🔹 Swirl results now aggregate JSON lists into strings correctly
🔹 Subscribe now correctly handles the relocated Results hits
clause
Known Issues
🔹 Creating searches from a browser with q= can sometimes create two Search objects.
This is because of browser prefetch AKA predictive service. Turn off Chrome prediction service. Turn off Safari prefetch
Please report any issues with this to support.
Upgrading
Documentation Wiki
🔹 Quick Start
🔹 User Guide
🔹 Developer Guide
🔹 Admin Guide
Support
🔹 Create an Issue if something doesn't work, isn't clear, or should be documented
🔹 Email: [email protected] with issues, requests, questions, etc - we'd love to hear from you!
Swirl Metasearch 1.10
SWIRL SEARCH 1.10
This version adds Querqy integration, improved and configurable hit highlighting, plus YouTrack SearchProviders and support for the open source Spyglass UI!
PLEASE STAR OUR REPO: https://github.com/swirlai/swirl-search
New Features
🔹 Swirl now incorporates feedback from Querqy including synonyms and other rewrites.
The terms are highlighted and used in relevancy.
🔹 Highlighting has been improved and supports tags as well as character markings. The default, specified in swirl_server/settings.py
, is:
SWIRL_HIGHLIGHT_START_CHAR = '<em>'
SWIRL_HIGHLIGHT_END_CHAR = '</em>'
🔹 New YouTrack SearchProviders allows searching through Issues and Articles.
Here's the Issues provider JSON:
{
"name": "Issues (web/YouTrack.cloud)",
"connector": "RequestsGet",
"url": "https://<your-domain>.youtrack.cloud/api/issues?fields=project(name),idReadable,tags(name),summary,description,reporter(fullName),created,votes,commentsCount,comments(text),subtasks(issues(idReadable)),customFields(name,value(name))",
"query_template": "{url}&query={query_string}",
"query_processors": [
"AdaptiveQueryProcessor"
],
"result_processors": [
"MappingResultProcessor"
],
"result_mappings": "title=summary,body=description,date_published=created,author=reporter.fullName,url='https://<your-domain>.youtrack.cloud/issue/{idReadable}',project.name,customFields[3].value[*].name,customFields[0].value[*].name,customFields[2].value[*].name,customFields[6].value[*].name,votes,tags[*].name,commentsCount,comments[*].text,subtasks[*].issues[*].idReadable,NO_PAYLOAD",
"results_per_query": 10,
"credentials": "bearer=your-youtrack-permanent-token",
"tags": [
"Issues",
"YouTrack"
]
}
Here is an example result in JSON:
{
"swirl_rank": 5,
"searchprovider": "Issues (web/YouTrack.cloud)",
"searchprovider_rank": 3,
"title": "Bad <em>Relevancy</em> link in User Guide",
"url": "https://swirl.youtrack.cloud/issue/SP-1",
"body": "User Guide in '<em>Relevancy</em>' section shows link to: for 'Developers Guide, <em>Relevancy</em> Section' but it does not go anywhere.\n\n\n\n![](image.png){width=70%}",
"date_published": "2023-03-22 11:35:30.956000",
"date_retrieved": "2023-03-28 17:56:41.043101",
"author": "Lee Eichelberger",
"title_hit_highlights": [],
"body_hit_highlights": [],
"payload": {
"project.name": "Swirl - Product",
"customFields[3].value[*].name": "Sid Probstein",
"customFields[0].value[*].name": "Normal",
"customFields[2].value[*].name": "Fixed",
"commentsCount": 1,
"comments[*].text": "Fixed by Sid. \n\nCommit: 1ffe987771e76643308ed2f97e1c0544be510ed8"
}
...etc...
Resolved Issues
🔹 BigQuery connector error with single result_mapping that is type date #146
🔹 Review parsing of credentials and tokens everywhere #159
🔹 Hit highlighting: no highlighting of title terms with adjacent punctuation #77
🔹 Swirl now handles Unix-style dates in SearchProvider responses
🔹 RequestsGet no longer requires a RESULTS
entry in the response_mapping
Known Issues
🔹 Creating searches from a browser with q= can sometimes create two Search objects.
This is because of browser prefetch AKA predictive service. Turn off Chrome prediction service. Turn off Safari prefetch
Please report any issues with this to support.
Upgrading
Documentation Wiki
🔹 Quick Start
🔹 User Guide
🔹 Developer Guide
🔹 Admin Guide
Support
🔹 Create an Issue if something doesn't work, isn't clear, or should be documented
🔹 Email: [email protected] with issues, requests, questions, etc - we'd love to hear from you!