benmanu / silverstripe-knowledgebase
A module for creating a feature rich knowledge-base
Installs: 117
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 2
Language:Scheme
Type:silverstripe-module
Requires
- benmanu/silverstripe-autocomplete: 3.1
- silverstripe/cms: ~3.1
- silverstripe/faq: 1.1.0
- silverstripe/framework: ~3.1
- silverstripe/fulltextsearch: 2.3.1@stable
- silverstripe/siteconfig: 3.5.3@stable
Suggests
- benmanu/silverstripe-userforms-faqsearchfield: For a search recommendation field on userforms
This package is auto-updated.
Last update: 2024-10-29 05:22:29 UTC
README
Provides the ability to create a knowledge base. Functionality is based on top of the silverstripe/faq
module.
Features
Uses the [https://github.com/silverstripe/silverstripe-faq](SilverStripe FAQ module) as a base which contains the following features:
- Featured FAQ's
- Categorizing
- Search results will automatically attempt to detect misspellings of search terms.
Search term synonyms
The use of custom synonym definitions is another way in which misspelling suggestions can be controlled. Synonyms are configured out of the box in this module.
You can configure your synonyms in the Settings tab in the CMS.
Note that only admin users (who are those with privileges necessary to run the Solr_Configure task) will be able to view and edit this field.
Installation
composer require silverstripe/knowledgebase
Then ensure to run $ framework/sake dev/tasks/Solr_Configure
and $ framework/sake dev/tasks/Solr_Reindex
, and you should have the Knowledge base module ready to use.
Note:
If you are using the cwp/cwp
module, you will need to ensure you do not enable the SynonymsSiteConfig
extension in your config as it is enabled in this module by default.
Changes to Solr configuration.
The following outlines the changes that have been made to the specified Solr configuration files compared to the default silverstripe/faq settings:
knowledgebase/conf/extras/solrconfig.xml
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">_text</str>
to
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">_spellcheckText</str>
Apply exact figures in fulltextsearch
module which is needs to work Synonym perfectly.
fulltextsearch solrconfig.xml
<float name="accuracy">0</float>
<int name="minQueryLength">1</int>
<float name="maxQueryFrequency">0</float>
to
<float name="accuracy">0.5</float>
<int name="minQueryLength">4</int>
<float name="maxQueryFrequency">0.01</float>
knowledgebase/conf/extras/schema.ss
Added the following underneath $FieldDefinitions
:
<field name='_spellcheckText' type='textSpellHtml' indexed='true' stored='false' multiValued='true' />
knowledgebase/conf/extras/types.ss
Move SynonymFilterFactory to bottom of analyzer to include Synonyms in search results. See this pull request for more information