first commit
This commit is contained in:
57
Configuration/FlexForms/Form.xml
Normal file
57
Configuration/FlexForms/Form.xml
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<T3DataStructure>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Search</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<search.targetPage>
|
||||
<TCEforms>
|
||||
<label>Target Page</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<internal_type>db</internal_type>
|
||||
<allowed>pages</allowed>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.targetPage>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
<sOptions>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Options</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<view.templateFiles.form>
|
||||
<TCEforms>
|
||||
<label>Custom Template</label>
|
||||
<config>
|
||||
<section>1</section>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<itemsProcFunc>WapplerSystems\Meilisearch\System\UserFunctions\FlexFormUserFunctions->getAvailableTemplates</itemsProcFunc>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</view.templateFiles.form>
|
||||
<view.pluginNamespace>
|
||||
<TCEforms>
|
||||
<exclude>1</exclude>
|
||||
<label>Plugin Namespace</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<eval>trim</eval>
|
||||
<default>tx_meilisearch</default>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</view.pluginNamespace>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sOptions>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
194
Configuration/FlexForms/Results.xml
Normal file
194
Configuration/FlexForms/Results.xml
Normal file
@@ -0,0 +1,194 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<T3DataStructure>
|
||||
<sheets>
|
||||
<sDEF>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Search</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<search.targetPage>
|
||||
<TCEforms>
|
||||
<label>Target Page</label>
|
||||
<config>
|
||||
<type>group</type>
|
||||
<internal_type>db</internal_type>
|
||||
<allowed>pages</allowed>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.targetPage>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sDEF>
|
||||
<sQuery>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Query</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<search.initializeWithEmptyQuery>
|
||||
<TCEforms>
|
||||
<label>Initialize search with empty query</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.initializeWithEmptyQuery>
|
||||
<search.showResultsOfInitialEmptyQuery>
|
||||
<TCEforms>
|
||||
<label>Show results of initial empty query</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.showResultsOfInitialEmptyQuery>
|
||||
<search.initializeWithQuery>
|
||||
<TCEforms>
|
||||
<exclude>1</exclude>
|
||||
<label>Initialize with query</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<eval>trim</eval>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.initializeWithQuery>
|
||||
<search.showResultsOfInitialQuery>
|
||||
<TCEforms>
|
||||
<label>Show results of initial query</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.showResultsOfInitialQuery>
|
||||
<search.query.filter>
|
||||
<section>1</section>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<field>
|
||||
<type>array</type>
|
||||
<title>Filter</title>
|
||||
<el>
|
||||
<field>
|
||||
<TCEforms>
|
||||
<label>Field</label>
|
||||
<config>
|
||||
<section>1</section>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<itemsProcFunc>WapplerSystems\Meilisearch\System\UserFunctions\FlexFormUserFunctions->getFacetFieldsFromSchema</itemsProcFunc>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</field>
|
||||
<value>
|
||||
<TCEforms>
|
||||
<label>Value</label>
|
||||
<config>
|
||||
<section>1</section>
|
||||
<type>input</type>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</value>
|
||||
</el>
|
||||
</field>
|
||||
</el>
|
||||
</search.query.filter>
|
||||
<search.query.sortBy>
|
||||
<TCEforms>
|
||||
<exclude>1</exclude>
|
||||
<label>Sorting</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<eval>trim</eval>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.query.sortBy>
|
||||
<search.results.resultsPerPage>
|
||||
<TCEforms>
|
||||
<exclude>1</exclude>
|
||||
<label>Results per Page</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<eval>int+</eval>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.results.resultsPerPage>
|
||||
<search.query.boostFunction>
|
||||
<TCEforms>
|
||||
<exclude>1</exclude>
|
||||
<label>Boost Function</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<eval>trim</eval>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.query.boostFunction>
|
||||
<search.query.boostQuery>
|
||||
<TCEforms>
|
||||
<exclude>1</exclude>
|
||||
<label>Boost Query</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<eval>trim</eval>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.query.boostQuery>
|
||||
<search.query.tieParameter>
|
||||
<TCEforms>
|
||||
<exclude>1</exclude>
|
||||
<label>Tie Breaker</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<eval>trim</eval>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.query.tieParameter>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sQuery>
|
||||
<sOptions>
|
||||
<ROOT>
|
||||
<TCEforms>
|
||||
<sheetTitle>Options</sheetTitle>
|
||||
</TCEforms>
|
||||
<type>array</type>
|
||||
<el>
|
||||
<view.templateFiles.results>
|
||||
<TCEforms>
|
||||
<label>Custom Template</label>
|
||||
<config>
|
||||
<section>1</section>
|
||||
<type>select</type>
|
||||
<renderType>selectSingle</renderType>
|
||||
<itemsProcFunc>WapplerSystems\Meilisearch\System\UserFunctions\FlexFormUserFunctions->getAvailableTemplates</itemsProcFunc>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</view.templateFiles.results>
|
||||
<view.pluginNamespace>
|
||||
<TCEforms>
|
||||
<exclude>1</exclude>
|
||||
<label>Plugin Namespace</label>
|
||||
<config>
|
||||
<type>input</type>
|
||||
<eval>trim</eval>
|
||||
<default>tx_meilisearch</default>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</view.pluginNamespace>
|
||||
|
||||
<search.ignoreGlobalQParameter>
|
||||
<TCEforms>
|
||||
<exclude>1</exclude>
|
||||
<label>Ignore the global q parameter</label>
|
||||
<config>
|
||||
<type>check</type>
|
||||
<default>0</default>
|
||||
</config>
|
||||
</TCEforms>
|
||||
</search.ignoreGlobalQParameter>
|
||||
</el>
|
||||
</ROOT>
|
||||
</sOptions>
|
||||
</sheets>
|
||||
</T3DataStructure>
|
20
Configuration/RequestMiddlewares.php
Normal file
20
Configuration/RequestMiddlewares.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
/** @noinspection PhpFullyQualifiedNameUsageInspection */
|
||||
return [
|
||||
'frontend' => [
|
||||
'apache-solr-for-typo3/page-indexer-fe-user-authenticator' => [
|
||||
'target' => \WapplerSystems\Meilisearch\Middleware\FrontendUserAuthenticator::class,
|
||||
'before' => ['apache-solr-for-typo3/page-indexer-initialization']
|
||||
],
|
||||
'apache-solr-for-typo3/page-indexer-initialization' => [
|
||||
'target' => \WapplerSystems\Meilisearch\Middleware\PageIndexerInitialization::class,
|
||||
'before' => ['typo3/cms-frontend/tsfe'],
|
||||
'after' => ['typo3/cms-core/normalized-params-attribute']
|
||||
],
|
||||
'apache-solr-for-typo3/page-indexer-finisher' => [
|
||||
'target' => \WapplerSystems\Meilisearch\Middleware\PageIndexerFinisher::class,
|
||||
'after' => ['typo3/cms-frontend/content-length-headers']
|
||||
]
|
||||
]
|
||||
];
|
171
Configuration/SiteConfiguration/Overrides/sites.php
Normal file
171
Configuration/SiteConfiguration/Overrides/sites.php
Normal file
@@ -0,0 +1,171 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Global Solr Connection Settings
|
||||
*/
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_enabled_read'] = [
|
||||
'label' => 'Enable Solr for this site',
|
||||
'onChange' => 'reload',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'default' => 1,
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => ''
|
||||
]
|
||||
]
|
||||
],
|
||||
];
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_scheme_read'] = [
|
||||
'label' => 'Scheme',
|
||||
'config' => [
|
||||
'type' => 'select',
|
||||
'renderType' => 'selectSingle',
|
||||
'items' => [
|
||||
['http', 'http'],
|
||||
['https', 'https'],
|
||||
],
|
||||
'size' => 1,
|
||||
'minitems' => 0,
|
||||
'maxitems' => 1
|
||||
],
|
||||
'displayCond' => 'FIELD:solr_enabled_read:=:1'
|
||||
];
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_host_read'] = [
|
||||
'label' => 'Host',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'default' => 'localhost',
|
||||
'placeholder' => 'localhost',
|
||||
'size' => 10
|
||||
],
|
||||
'displayCond' => 'FIELD:solr_enabled_read:=:1'
|
||||
];
|
||||
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_port_read'] = [
|
||||
'label' => 'Port',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'eval' => 'required',
|
||||
'size' => 5,
|
||||
'default' => 8983
|
||||
],
|
||||
'displayCond' => 'FIELD:solr_enabled_read:=:1'
|
||||
];
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_path_read'] = [
|
||||
'label' => 'URL path to Apache Solr server',
|
||||
'description' => 'I.e. if you use Hosted-Solr.com the path inside the admin panel. Should not contain "/solr/".',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'eval' => 'required',
|
||||
'default' => '/'
|
||||
],
|
||||
'displayCond' => 'FIELD:solr_enabled_read:=:1'
|
||||
];
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_use_write_connection'] = [
|
||||
'label' => 'Use different write connection',
|
||||
'onChange' => 'reload',
|
||||
'config' => [
|
||||
'type' => 'check',
|
||||
'renderType' => 'checkboxToggle',
|
||||
'default' => 0,
|
||||
'items' => [
|
||||
[
|
||||
0 => '',
|
||||
1 => ''
|
||||
]
|
||||
]
|
||||
],
|
||||
'displayCond' => 'FIELD:solr_enabled_read:=:1'
|
||||
];
|
||||
|
||||
// write TCA
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_scheme_write'] = $GLOBALS['SiteConfiguration']['site']['columns']['solr_scheme_read'];
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_scheme_write']['displayCond'] = 'FIELD:solr_use_write_connection:=:1';
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_port_write'] = $GLOBALS['SiteConfiguration']['site']['columns']['solr_port_read'];
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_port_write']['config']['eval'] = '';
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_port_write']['displayCond'] = 'FIELD:solr_use_write_connection:=:1';
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_host_write'] = $GLOBALS['SiteConfiguration']['site']['columns']['solr_host_read'];
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_host_write']['config']['eval'] = '';
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_host_write']['displayCond'] = 'FIELD:solr_use_write_connection:=:1';
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_path_write'] = $GLOBALS['SiteConfiguration']['site']['columns']['solr_path_read'];
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_path_write']['config']['eval'] = '';
|
||||
$GLOBALS['SiteConfiguration']['site']['columns']['solr_path_write']['displayCond'] = 'FIELD:solr_use_write_connection:=:1';
|
||||
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site']['palettes']['solr_read']['showitem'] = 'solr_scheme_read, solr_host_read, solr_port_read, solr_path_read';
|
||||
$GLOBALS['SiteConfiguration']['site']['palettes']['solr_write']['showitem'] = 'solr_scheme_write, solr_host_write, solr_port_write, solr_path_write';
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site']['types']['0']['showitem'] .= ',--div--;Solr,solr_enabled_read,--palette--;;solr_read, solr_use_write_connection,--palette--;;solr_write';
|
||||
|
||||
|
||||
/**
|
||||
* Language specific core configuration
|
||||
*/
|
||||
$GLOBALS['SiteConfiguration']['site_language']['columns']['solr_core_read'] = [
|
||||
'label' => 'Corename',
|
||||
'config' => [
|
||||
'type' => 'input',
|
||||
'eval' => 'trim',
|
||||
'valuePicker' => [
|
||||
'items' => [
|
||||
[ 'Arabic', 'core_ar'],
|
||||
[ 'Armenian', 'core_hy'],
|
||||
[ 'Basque', 'core_eu'],
|
||||
[ 'Brazilian Portuguese', 'core_ptbr'],
|
||||
[ 'Bulgarian', 'core_bg'],
|
||||
[ 'Burmese', 'core_my'],
|
||||
[ 'Catalan', 'core_ca'],
|
||||
[ 'Chinese', 'core_zh'],
|
||||
[ 'Czech', 'core_cs'],
|
||||
[ 'Danish', 'core_da'],
|
||||
[ 'Dutch', 'core_nl'],
|
||||
[ 'English', 'core_en'],
|
||||
[ 'Finnish', 'core_fi'],
|
||||
[ 'French', 'core_fr'],
|
||||
[ 'Galician', 'core_gl'],
|
||||
[ 'German', 'core_de'],
|
||||
[ 'Greek', 'core_el'],
|
||||
[ 'Hinde', 'core_hi'],
|
||||
[ 'Hungarian', 'core_hu'],
|
||||
[ 'Indonesian', 'core_id'],
|
||||
[ 'Irish', 'core_ie'],
|
||||
[ 'Italian', 'core_it'],
|
||||
[ 'Japanese', 'core_ja'],
|
||||
[ 'Korean', 'core_km'],
|
||||
[ 'Lao', 'core_lo'],
|
||||
[ 'Latvia', 'core_lv'],
|
||||
[ 'Norwegian', 'core_no'],
|
||||
[ 'Persian', 'core_fa'],
|
||||
[ 'Polish', 'core_pl'],
|
||||
[ 'Portuguese', 'core_pt'],
|
||||
[ 'Romanian', 'core_ro'],
|
||||
[ 'Russian', 'core_ru'],
|
||||
[ 'Serbian', 'core_rs'],
|
||||
[ 'Spanish', 'core_es'],
|
||||
[ 'Swedish', 'core_sv'],
|
||||
[ 'Thai', 'core_th'],
|
||||
[ 'Turkish', 'core_tr'],
|
||||
[ 'Ukrainian', 'core_uk'],
|
||||
],
|
||||
],
|
||||
'placeholder' => 'core_*',
|
||||
]
|
||||
];
|
||||
|
||||
$GLOBALS['SiteConfiguration']['site_language']['types']['1']['showitem'] = str_replace(
|
||||
'flag',
|
||||
'flag, solr_core_read, ',
|
||||
$GLOBALS['SiteConfiguration']['site_language']['types']['1']['showitem']
|
||||
);
|
75
Configuration/TCA/Overrides/sys_template.php
Normal file
75
Configuration/TCA/Overrides/sys_template.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
// TypoScript
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('meilisearch',
|
||||
'Configuration/TypoScript/Solr/', 'Search - Base Configuration');
|
||||
|
||||
// StyleSheets
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('meilisearch',
|
||||
'Configuration/TypoScript/BootstrapCss/', 'Search - Bootstrap CSS Framework');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('meilisearch',
|
||||
'Configuration/TypoScript/StyleSheets/', 'Search - Default Stylesheets');
|
||||
|
||||
// OpenSearch
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('meilisearch',
|
||||
'Configuration/TypoScript/OpenSearch/', 'Search - OpenSearch');
|
||||
|
||||
// Extension Pre-Configuration
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('meilisearch',
|
||||
'Configuration/TypoScript/Examples/IndexQueueNews/',
|
||||
'Search - Index Queue Configuration for news');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('meilisearch',
|
||||
'Configuration/TypoScript/Examples/IndexQueueNewsContentElements/',
|
||||
'Search - Index Queue Configuration for news with content elements');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('meilisearch',
|
||||
'Configuration/TypoScript/Examples/IndexQueueTtNews/',
|
||||
'Search - Index Queue Configuration for tt_news');
|
||||
|
||||
// Examples
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('meilisearch',
|
||||
'Configuration/TypoScript/Examples/BoostQueries/',
|
||||
'Search - (Example) Boost more recent results');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('meilisearch',
|
||||
'Configuration/TypoScript/Examples/EverythingOn/',
|
||||
'Search - (Example) Everything On');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/FilterPages/',
|
||||
'Search - (Example) Filter to only show page results');
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/ConnectionFromConfVars/',
|
||||
'Deprecated: Search - (Example) Use connection settings from TYPO3_CONF_VARS');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/Suggest/',
|
||||
'Search - (Example) Suggest/autocomplete with jquery');
|
||||
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/Facets/Options/',
|
||||
'Search - (Example) Options facet on author field');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/Facets/OptionsToggle/',
|
||||
'Search - (Example) Options with on/off toggle');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/Facets/OptionsPrefixGrouped/',
|
||||
'Search - (Example) Options grouped by prefix');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/Facets/OptionsSinglemode/',
|
||||
'Search - (Example) Options with singlemode (only one option at a time)');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/Facets/OptionsFiltered/',
|
||||
'Search - (Example) Options filterable by option value');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/Facets/QueryGroup/',
|
||||
'Search - (Example) QueryGroup facet on the created field');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/Facets/Hierarchy/',
|
||||
'Search - (Example) Hierarchy facet on the rootline field');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/Facets/DateRange/',
|
||||
'Search - (Example) DateRange facet with jquery ui datepicker on created field');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/Facets/NumericRange/',
|
||||
'Search - (Example) NumericRange facet with jquery ui slider on pid field');
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile('solr',
|
||||
'Configuration/TypoScript/Examples/Ajaxify/',
|
||||
'Search - Ajaxify the search results with jQuery');
|
48
Configuration/TCA/Overrides/tt_content.php
Normal file
48
Configuration/TCA/Overrides/tt_content.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
if (!defined ('TYPO3_MODE')) {
|
||||
die ('Access denied.');
|
||||
}
|
||||
|
||||
// Register the plugins
|
||||
$pluginSignature = 'solr_pi_search';
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'solr',
|
||||
'pi_search',
|
||||
'LLL:EXT:meilisearch/Resources/Private/Language/locallang.xlf:tt_content.list_type_pi_search'
|
||||
);
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature]
|
||||
= 'layout,select_key,pages,recursive';
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature]
|
||||
= 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$pluginSignature,
|
||||
'FILE:EXT:meilisearch/Configuration/FlexForms/Form.xml'
|
||||
);
|
||||
|
||||
|
||||
$pluginSignature = 'solr_pi_frequentlysearched';
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'solr',
|
||||
'pi_frequentlySearched',
|
||||
'LLL:EXT:meilisearch/Resources/Private/Language/locallang.xlf:tt_content.list_type_pi_frequentsearches'
|
||||
);
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature]
|
||||
= 'layout,select_key,pages,recursive';
|
||||
|
||||
|
||||
$pluginSignature = 'solr_pi_results';
|
||||
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin(
|
||||
'solr',
|
||||
'pi_results',
|
||||
'LLL:EXT:meilisearch/Resources/Private/Language/locallang.xlf:tt_content.list_type_pi_results'
|
||||
);
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature]
|
||||
= 'layout,select_key,pages,recursive';
|
||||
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature]
|
||||
= 'pi_flexform';
|
||||
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
|
||||
$pluginSignature,
|
||||
'FILE:EXT:meilisearch/Configuration/FlexForms/Results.xml'
|
||||
);
|
||||
|
2
Configuration/TSconfig/ContentElementWizard.typoscript
Normal file
2
Configuration/TSconfig/ContentElementWizard.typoscript
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TSconfig/Page/Mod/Wizards/NewContentElement.tsconfig'
|
@@ -0,0 +1,13 @@
|
||||
mod.wizards.newContentElement.wizardItems.plugins {
|
||||
elements {
|
||||
tx_meilisearch_results {
|
||||
iconIdentifier = extensions-solr-plugin-contentelement
|
||||
title = LLL:EXT:meilisearch/Resources/Private/Language/locallang.xlf:plugin_results
|
||||
description = LLL:EXT:meilisearch/Resources/Private/Language/locallang.xlf:plugin_results_description
|
||||
tt_content_defValues {
|
||||
CType = list
|
||||
list_type = solr_pi_results
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
2
Configuration/TypoScript/BootstrapCss/setup.txt
Normal file
2
Configuration/TypoScript/BootstrapCss/setup.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/BootstrapCss/setup.typoscript'
|
9
Configuration/TypoScript/BootstrapCss/setup.typoscript
Normal file
9
Configuration/TypoScript/BootstrapCss/setup.typoscript
Normal file
@@ -0,0 +1,9 @@
|
||||
page.includeCSS {
|
||||
|
||||
bootstrap = EXT:meilisearch/Resources/Public/StyleSheets/Frontend/Bootstrap/bootstrap.min.css
|
||||
bootstrap-theme = EXT:meilisearch/Resources/Public/StyleSheets/Frontend/Bootstrap/bootstrap-theme.min.css
|
||||
}
|
||||
|
||||
page.includeJSFooterlibs {
|
||||
bootstrap-js = EXT:meilisearch/Resources/Public/JavaScript/Bootstrap/bootstrap.js
|
||||
}
|
2
Configuration/TypoScript/Examples/Ajaxify/setup.txt
Normal file
2
Configuration/TypoScript/Examples/Ajaxify/setup.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/Ajaxify/setup.typoscript'
|
39
Configuration/TypoScript/Examples/Ajaxify/setup.typoscript
Normal file
39
Configuration/TypoScript/Examples/Ajaxify/setup.typoscript
Normal file
@@ -0,0 +1,39 @@
|
||||
# Ajaxify the results
|
||||
|
||||
tx_meilisearch_ajaxPage = PAGE
|
||||
tx_meilisearch_ajaxPage {
|
||||
typeNum = 7383
|
||||
config {
|
||||
disableAllHeaderCode = 1
|
||||
xhtml_cleaning = 0
|
||||
admPanel = 0
|
||||
additionalHeaders.10.header = Content-type: text/plain
|
||||
no_cache = 0
|
||||
}
|
||||
|
||||
10 = USER
|
||||
10 {
|
||||
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
|
||||
extensionName = Solr
|
||||
pluginName = pi_results
|
||||
vendorName = ApacheSolrForTypo3
|
||||
controller = Search
|
||||
action = results
|
||||
switchableControllerActions {
|
||||
Search {
|
||||
1 = results
|
||||
2 = form
|
||||
}
|
||||
}
|
||||
view < plugin.tx_meilisearch.view
|
||||
persistence < plugin.tx_meilisearch.persistence
|
||||
settings < plugin.tx_meilisearch.settings
|
||||
}
|
||||
}
|
||||
|
||||
page.includeJSFooterlibs {
|
||||
solr-jquery = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery.min.js
|
||||
solr-uri = EXT:meilisearch/Resources/Public/JavaScript/JQuery/URI.min.js
|
||||
solr-uri-jquery = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery.URI.min.js
|
||||
solr-ajaxify = EXT:meilisearch/Resources/Public/JavaScript/search_controller.js
|
||||
}
|
2
Configuration/TypoScript/Examples/BoostQueries/setup.txt
Normal file
2
Configuration/TypoScript/Examples/BoostQueries/setup.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/BoostQueries/setup.typoscript'
|
@@ -0,0 +1,5 @@
|
||||
plugin.tx_meilisearch.search.query.boostQuery {
|
||||
lastYear = created:[NOW/DAY-1YEAR TO *]^5.0
|
||||
oneYear = created:[NOW/DAY-2YEARS TO NOW/DAY-1YEAR]^3.0
|
||||
twoYearsPlus = created:[NOW/DAY-5YEARS TO NOW/DAY-2YEARS]^2.0
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/ConnectionFromConfVars/setup.typoscript'
|
@@ -0,0 +1,24 @@
|
||||
plugin.tx_meilisearch {
|
||||
solr {
|
||||
scheme = TEXT
|
||||
scheme {
|
||||
value = {$plugin.tx_meilisearch.solr.scheme}
|
||||
override.data = global:TYPO3_CONF_VARS|EXTCONF|solr|scheme
|
||||
}
|
||||
host = TEXT
|
||||
host {
|
||||
value = {$plugin.tx_meilisearch.solr.host}
|
||||
override.data = global:TYPO3_CONF_VARS|EXTCONF|solr|host
|
||||
}
|
||||
port = TEXT
|
||||
port {
|
||||
value = {$plugin.tx_meilisearch.solr.port}
|
||||
override.data = global:TYPO3_CONF_VARS|EXTCONF|solr|port
|
||||
}
|
||||
path = TEXT
|
||||
path {
|
||||
value = {$plugin.tx_meilisearch.solr.path}
|
||||
override.data = global:TYPO3_CONF_VARS|EXTCONF|solr|path
|
||||
}
|
||||
}
|
||||
}
|
2
Configuration/TypoScript/Examples/EverythingOn/setup.txt
Normal file
2
Configuration/TypoScript/Examples/EverythingOn/setup.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/EverythingOn/setup.typoscript'
|
@@ -0,0 +1,56 @@
|
||||
|
||||
plugin.tx_meilisearch {
|
||||
|
||||
enableDebugMode = 1
|
||||
|
||||
|
||||
search {
|
||||
|
||||
results {
|
||||
resultsHighlighting = 1
|
||||
siteHighlighting = 1
|
||||
|
||||
showDocumentScoreAnalysis = 1
|
||||
}
|
||||
|
||||
spellchecking = 1
|
||||
spellchecking {
|
||||
searchUsingSpellCheckerSuggestion = 1
|
||||
}
|
||||
lastSearches = 1
|
||||
frequentSearches = 1
|
||||
sorting = 1
|
||||
faceting = 1
|
||||
variants = 1
|
||||
}
|
||||
|
||||
statistics = 1
|
||||
statistics.anonymizeIP = 1
|
||||
|
||||
suggest = 1
|
||||
|
||||
logging {
|
||||
exceptions = 1
|
||||
debugOutput = 1
|
||||
|
||||
indexing {
|
||||
indexQueueInitialization = 1
|
||||
missingTypo3SearchMarkers = 1
|
||||
pageIndexed = 1
|
||||
|
||||
queue {
|
||||
pages = 1
|
||||
tt_news = 1
|
||||
}
|
||||
}
|
||||
|
||||
query {
|
||||
filters = 1
|
||||
searchWords = 1
|
||||
queryString = 1
|
||||
rawPost = 1
|
||||
rawGet = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/Facets/DateRange/setup.typoscript'
|
@@ -0,0 +1,28 @@
|
||||
# Enable a date range facet on created field
|
||||
|
||||
plugin.tx_meilisearch.search.faceting = 1
|
||||
plugin.tx_meilisearch.search.faceting.facets {
|
||||
creationDateRange {
|
||||
label = Created Between
|
||||
field = created
|
||||
|
||||
type = dateRange
|
||||
|
||||
# these are the default values, you do not need to specify a dateRange configuration block if the defaults work for you
|
||||
dateRange {
|
||||
start = NOW/DAY-1YEAR
|
||||
end = NOW/DAY+1YEAR
|
||||
gap = +1DAY
|
||||
}
|
||||
}
|
||||
}
|
||||
# Load js files
|
||||
page.includeJSFooterlibs {
|
||||
solr-jquery = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery.min.js
|
||||
solr-ui = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery-ui.min.js
|
||||
solr-daterange = EXT:meilisearch/Resources/Public/JavaScript/facet_daterange_controller.js
|
||||
}
|
||||
|
||||
page.includeCSS {
|
||||
solr-ui = EXT:meilisearch/Resources/Css/JQueryUi/jquery-ui.custom.css
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/Facets/Hierarchy/setup.typoscript'
|
@@ -0,0 +1,23 @@
|
||||
# Enable a hierarchy facet on the field "rootline"
|
||||
|
||||
lib.tx_meilisearch.pagetitle = HMENU
|
||||
lib.tx_meilisearch.pagetitle {
|
||||
special = list
|
||||
special.value.current = 1
|
||||
1 = TMENU
|
||||
1 {
|
||||
NO {
|
||||
doNotLinkIt = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
plugin.tx_meilisearch.search.faceting = 1
|
||||
plugin.tx_meilisearch.search.faceting.facets {
|
||||
pageHierarchy {
|
||||
field = rootline
|
||||
label = Rootline
|
||||
type = hierarchy
|
||||
partialName = Rootline
|
||||
}
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/Facets/NumericRange/setup.typoscript'
|
@@ -0,0 +1,25 @@
|
||||
# Enable a numericRange facet on the pidField
|
||||
|
||||
plugin.tx_meilisearch.search.faceting = 1
|
||||
plugin.tx_meilisearch.search.faceting.facets {
|
||||
pidRangeRange {
|
||||
field = pid
|
||||
label = Pid Range
|
||||
type = numericRange
|
||||
numericRange {
|
||||
start = 0
|
||||
end = 100
|
||||
gap = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
# Load js files
|
||||
page.includeJSFooterlibs {
|
||||
solr-jquery = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery.min.js
|
||||
solr-ui = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery-ui.min.js
|
||||
solr-numericrange = EXT:meilisearch/Resources/Public/JavaScript/facet_numericrange_controller.js
|
||||
}
|
||||
|
||||
page.includeCSS {
|
||||
solr-ui = EXT:meilisearch/Resources/Css/JQueryUi/jquery-ui.custom.css
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/Facets/Options/setup.typoscript'
|
@@ -0,0 +1,12 @@
|
||||
plugin.tx_meilisearch.search.faceting = 1
|
||||
plugin.tx_meilisearch.search.faceting.facets {
|
||||
author {
|
||||
label = Author
|
||||
field = author
|
||||
}
|
||||
}
|
||||
|
||||
page.includeJSFooterlibs {
|
||||
solr-jquery = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery.min.js
|
||||
solr-options = EXT:meilisearch/Resources/Public/JavaScript/facet_options_controller.js
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/Facets/OptionsFiltered/setup.typoscript'
|
@@ -0,0 +1,13 @@
|
||||
plugin.tx_meilisearch.search.faceting = 1
|
||||
plugin.tx_meilisearch.search.faceting.facets {
|
||||
typeFiltered {
|
||||
label = Type Filtered
|
||||
field = type
|
||||
partialName = OptionsFiltered
|
||||
}
|
||||
}
|
||||
|
||||
page.includeJSFooterlibs {
|
||||
solr-jquery = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery.min.js
|
||||
solr-options = EXT:meilisearch/Resources/Public/JavaScript/facet_options_controller.js
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/Facets/OptionsPrefixGrouped/setup.typoscript'
|
@@ -0,0 +1,13 @@
|
||||
plugin.tx_meilisearch.search.faceting = 1
|
||||
plugin.tx_meilisearch.search.faceting.facets {
|
||||
author {
|
||||
label = Author
|
||||
field = author
|
||||
partialName = OptionsPrefixGrouped
|
||||
}
|
||||
}
|
||||
|
||||
page.includeJSFooterlibs {
|
||||
solr-jquery = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery.min.js
|
||||
solr-options = EXT:meilisearch/Resources/Public/JavaScript/facet_options_controller.js
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/Facets/OptionsSinglemode/setup.typoscript'
|
@@ -0,0 +1,14 @@
|
||||
plugin.tx_meilisearch.search.faceting = 1
|
||||
plugin.tx_meilisearch.search.faceting.facets {
|
||||
typeToggle {
|
||||
label = Type Singlemode
|
||||
field = type
|
||||
partialName = OptionsSinglemode
|
||||
keepAllOptionsOnSelection = 1
|
||||
}
|
||||
}
|
||||
|
||||
page.includeJSFooterlibs {
|
||||
solr-jquery = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery.min.js
|
||||
solr-options = EXT:meilisearch/Resources/Public/JavaScript/facet_options_controller.js
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/Facets/OptionsToggle/setup.typoscript'
|
@@ -0,0 +1,13 @@
|
||||
plugin.tx_meilisearch.search.faceting = 1
|
||||
plugin.tx_meilisearch.search.faceting.facets {
|
||||
typeToggle {
|
||||
label = Type Toggle
|
||||
field = type
|
||||
partialName = OptionsToggle
|
||||
}
|
||||
}
|
||||
|
||||
page.includeJSFooterlibs {
|
||||
solr-jquery = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery.min.js
|
||||
solr-options = EXT:meilisearch/Resources/Public/JavaScript/facet_options_controller.js
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/Facets/QueryGroup/setup.typoscript'
|
@@ -0,0 +1,56 @@
|
||||
# Enable a queryGroup facet on the field "created"
|
||||
|
||||
plugin.tx_meilisearch.search.faceting = 1
|
||||
plugin.tx_meilisearch.search.faceting.facets {
|
||||
age {
|
||||
label = Age
|
||||
field = created
|
||||
|
||||
type = queryGroup
|
||||
queryGroup {
|
||||
|
||||
week {
|
||||
query = [NOW/DAY-7DAYS TO *]
|
||||
}
|
||||
|
||||
month {
|
||||
query = [NOW/DAY-1MONTH TO NOW/DAY-7DAYS]
|
||||
}
|
||||
|
||||
halfYear {
|
||||
query = [NOW/DAY-6MONTHS TO NOW/DAY-1MONTH]
|
||||
}
|
||||
|
||||
year {
|
||||
query = [NOW/DAY-1YEAR TO NOW/DAY-6MONTHS]
|
||||
}
|
||||
|
||||
old {
|
||||
query = [* TO NOW/DAY-1YEAR]
|
||||
}
|
||||
}
|
||||
|
||||
renderingInstruction = CASE
|
||||
renderingInstruction {
|
||||
key.field = optionValue
|
||||
|
||||
default = TEXT
|
||||
default.field = optionValue
|
||||
|
||||
week = TEXT
|
||||
week.value = Less than one week
|
||||
|
||||
month = TEXT
|
||||
month.value = 1 week to 1 month :)
|
||||
|
||||
halfYear = TEXT
|
||||
halfYear.value = 1 to 6 months
|
||||
|
||||
year = TEXT
|
||||
year.value = 6 months to 1 year
|
||||
|
||||
old = TEXT
|
||||
old.value = over a year
|
||||
}
|
||||
}
|
||||
}
|
2
Configuration/TypoScript/Examples/FilterPages/setup.txt
Normal file
2
Configuration/TypoScript/Examples/FilterPages/setup.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/FilterPages/setup.typoscript'
|
@@ -0,0 +1,7 @@
|
||||
plugin.tx_meilisearch.search.query {
|
||||
|
||||
filter {
|
||||
pagesOnlyFilter = type:pages
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/IndexQueueNews/setup.typoscript'
|
@@ -0,0 +1,97 @@
|
||||
|
||||
plugin.tx_meilisearch.index.queue {
|
||||
|
||||
news = 1
|
||||
news {
|
||||
table = tx_news_domain_model_news
|
||||
|
||||
fields {
|
||||
abstract = teaser
|
||||
|
||||
author = author
|
||||
authorEmail_stringS = author_email
|
||||
|
||||
title = title
|
||||
|
||||
datetime_stringS = TEXT
|
||||
datetime_stringS {
|
||||
field = datetime
|
||||
date = d.m.Y H:i
|
||||
}
|
||||
|
||||
datetime_dateS = TEXT
|
||||
datetime_dateS {
|
||||
field = datetime
|
||||
date = Y-m-d\TH:i:s\Z
|
||||
}
|
||||
|
||||
content = SOLR_CONTENT
|
||||
content {
|
||||
cObject = COA
|
||||
cObject {
|
||||
10 = TEXT
|
||||
10 {
|
||||
field = bodytext
|
||||
noTrimWrap = || |
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
category_stringM = SOLR_RELATION
|
||||
category_stringM {
|
||||
localField = categories
|
||||
multiValue = 1
|
||||
}
|
||||
|
||||
keywords = SOLR_MULTIVALUE
|
||||
keywords {
|
||||
field = keywords
|
||||
}
|
||||
|
||||
tags_stringM = SOLR_RELATION
|
||||
tags_stringM {
|
||||
localField = tags
|
||||
multiValue = 1
|
||||
}
|
||||
|
||||
url = CASE
|
||||
url {
|
||||
key.field = type
|
||||
|
||||
# Internal
|
||||
1 = TEXT
|
||||
1 {
|
||||
if.isTrue.field = internalurl
|
||||
typolink.parameter.field = internalurl
|
||||
typolink.useCacheHash = 1
|
||||
typolink.returnLast = url
|
||||
}
|
||||
|
||||
# External
|
||||
2 = TEXT
|
||||
2 {
|
||||
if.isTrue.field = externalurl
|
||||
field = externalurl
|
||||
}
|
||||
|
||||
default = TEXT
|
||||
default {
|
||||
typolink.parameter = {$plugin.tx_news.settings.detailPid}
|
||||
typolink.additionalParams = &tx_news_pi1[controller]=News&tx_news_pi1[action]=detail&tx_news_pi1[news]={field:uid}&L={field:__solr_index_language}
|
||||
typolink.additionalParams.insertData = 1
|
||||
typolink.useCacheHash = 1
|
||||
typolink.returnLast = url
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
attachments = 1
|
||||
attachments {
|
||||
fields = fal_related_files
|
||||
fileExtensions = *
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
plugin.tx_meilisearch.logging.indexing.queue.news = 1
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/IndexQueueNewsContentElements/setup.typoscript'
|
@@ -0,0 +1,17 @@
|
||||
|
||||
plugin.tx_meilisearch.index.queue {
|
||||
news {
|
||||
fields {
|
||||
content {
|
||||
cObject {
|
||||
20 = SOLR_RELATION
|
||||
20 {
|
||||
localField = content_elements
|
||||
foreignLabelField = bodytext
|
||||
singleValueGlue = | |
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/IndexQueueTtNews/setup.typoscript'
|
@@ -0,0 +1,67 @@
|
||||
|
||||
plugin.tx_meilisearch.index.queue {
|
||||
|
||||
tt_news = 1
|
||||
tt_news {
|
||||
fields {
|
||||
abstract = short
|
||||
author = author
|
||||
description = short
|
||||
title = title
|
||||
|
||||
datetime_stringS = TEXT
|
||||
datetime_stringS {
|
||||
value.field = datetime
|
||||
value.date = d.m.Y H:i
|
||||
}
|
||||
|
||||
content = SOLR_CONTENT
|
||||
content {
|
||||
field = bodytext
|
||||
}
|
||||
|
||||
category_stringM = SOLR_RELATION
|
||||
category_stringM {
|
||||
localField = category
|
||||
relationTableSortingField = sorting
|
||||
multiValue = 1
|
||||
}
|
||||
|
||||
categoryMain_stringS = TEXT
|
||||
categoryMain_stringS {
|
||||
cObject = SOLR_RELATION
|
||||
cObject {
|
||||
localField = category
|
||||
relationTableSortingField = sorting
|
||||
singleValueGlue = ,
|
||||
}
|
||||
|
||||
split {
|
||||
token = ,
|
||||
returnKey = 0
|
||||
}
|
||||
}
|
||||
|
||||
keywords = SOLR_MULTIVALUE
|
||||
keywords {
|
||||
field = keywords
|
||||
}
|
||||
|
||||
url = TEXT
|
||||
url {
|
||||
typolink.parameter = {$plugin.tt_news.singlePid}
|
||||
typolink.additionalParams = &tx_ttnews[tt_news]={field:uid}&L={field:__solr_index_language}
|
||||
typolink.additionalParams.insertData = 1
|
||||
typolink.returnLast = url
|
||||
typolink.useCacheHash = 1
|
||||
}
|
||||
}
|
||||
|
||||
attachments {
|
||||
fields = bodytext,news_files
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
plugin.tx_meilisearch.logging.indexing.queue.tt_news = 0
|
2
Configuration/TypoScript/Examples/Suggest/setup.txt
Normal file
2
Configuration/TypoScript/Examples/Suggest/setup.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Examples/Suggest/setup.typoscript'
|
48
Configuration/TypoScript/Examples/Suggest/setup.typoscript
Normal file
48
Configuration/TypoScript/Examples/Suggest/setup.typoscript
Normal file
@@ -0,0 +1,48 @@
|
||||
# Enable search field autocomplete/suggest
|
||||
# Ajaxify the suggest/results
|
||||
tx_meilisearch_suggest = PAGE
|
||||
tx_meilisearch_suggest {
|
||||
typeNum = 7384
|
||||
config {
|
||||
disableAllHeaderCode = 1
|
||||
xhtml_cleaning = 0
|
||||
admPanel = 0
|
||||
additionalHeaders.10.header = Content-type: application/javascript
|
||||
no_cache = 0
|
||||
debug = 0
|
||||
}
|
||||
|
||||
10 = USER
|
||||
10 {
|
||||
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
|
||||
extensionName = Solr
|
||||
pluginName = pi_suggest
|
||||
vendorName = ApacheSolrForTypo3
|
||||
controller = Suggest
|
||||
action = suggest
|
||||
}
|
||||
}
|
||||
|
||||
[globalString = GP:tx_meilisearch|callback = ]
|
||||
tx_meilisearch_suggest.config.additionalHeaders.10.header = Content-type: application/json
|
||||
[global]
|
||||
|
||||
# Enable suggest
|
||||
plugin.tx_meilisearch {
|
||||
suggest = 1
|
||||
suggest {
|
||||
numberOfSuggestions = 10
|
||||
suggestField = spell
|
||||
}
|
||||
}
|
||||
|
||||
# Load js files
|
||||
page.includeJSFooterlibs {
|
||||
solr-jquery = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery.min.js
|
||||
solr-autocomplete = EXT:meilisearch/Resources/Public/JavaScript/JQuery/jquery.autocomplete.min.js
|
||||
solr-suggest = EXT:meilisearch/Resources/Public/JavaScript/suggest_controller.js
|
||||
}
|
||||
|
||||
page.includeCSS {
|
||||
solr-suggest = EXT:meilisearch/Resources/Public/StyleSheets/Frontend/suggest.css
|
||||
}
|
2
Configuration/TypoScript/OpenSearch/constants.txt
Normal file
2
Configuration/TypoScript/OpenSearch/constants.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/OpenSearch/constants.typoscript'
|
10
Configuration/TypoScript/OpenSearch/constants.typoscript
Normal file
10
Configuration/TypoScript/OpenSearch/constants.typoscript
Normal file
@@ -0,0 +1,10 @@
|
||||
|
||||
plugin.tx_meilisearch.OpenSearch {
|
||||
|
||||
# cat=plugin.meilisearch: OpenSearch/10; type=text; label=Short Name: Brief title of the search, up to 16 characters.
|
||||
shortName = Website Search
|
||||
|
||||
# cat=plugin.meilisearch: OpenSearch/20; type=text; label=Description: Textual description of the search.
|
||||
description = Search this website
|
||||
|
||||
}
|
2
Configuration/TypoScript/OpenSearch/setup.txt
Normal file
2
Configuration/TypoScript/OpenSearch/setup.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/OpenSearch/setup.typoscript'
|
104
Configuration/TypoScript/OpenSearch/setup.typoscript
Normal file
104
Configuration/TypoScript/OpenSearch/setup.typoscript
Normal file
@@ -0,0 +1,104 @@
|
||||
|
||||
// 7567 = SOLR as vanity number
|
||||
|
||||
page {
|
||||
|
||||
headerData.7567 = TEXT
|
||||
headerData.7567 {
|
||||
typolink.parameter.data = leveluid:0
|
||||
typolink.parameter.wrap = |,7567
|
||||
typolink.forceAbsoluteUrl = 1
|
||||
typolink.returnLast = url
|
||||
|
||||
wrap (
|
||||
<link rel="profile" href="http://a9.com/-/spec/opensearch/1.1/" />
|
||||
<link rel="search"
|
||||
type="application/opensearchdescription+xml"
|
||||
href="|"
|
||||
title="{$plugin.tx_meilisearch.OpenSearch.shortName}"
|
||||
/>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
OpenSearch = PAGE
|
||||
OpenSearch {
|
||||
|
||||
typeNum = 7567
|
||||
|
||||
config {
|
||||
disableAllHeaderCode = 1
|
||||
additionalHeaders.10.header = Content-type:application/opensearchdescription+xml
|
||||
xhtml_cleaning = 0
|
||||
admPanel = 0
|
||||
}
|
||||
|
||||
10 = TEXT
|
||||
10.insertData = 1
|
||||
10.value (
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
|
||||
<ShortName>{$plugin.tx_meilisearch.OpenSearch.shortName}</ShortName>
|
||||
<Description>{$plugin.tx_meilisearch.OpenSearch.description}</Description>
|
||||
<InputEncoding>UTF-8</InputEncoding>
|
||||
<OutputEncoding>UTF-8</OutputEncoding>
|
||||
|
||||
)
|
||||
|
||||
11 = TEXT
|
||||
11.insertData = 1
|
||||
11.value (
|
||||
<Image height="16" width="16" type="image/x-icon">{getIndpEnv:TYPO3_SITE_URL}favicon.ico</Image>
|
||||
)
|
||||
|
||||
|
||||
|
||||
# link to this description file for automatic updates
|
||||
20 = TEXT
|
||||
20.insertData = 1
|
||||
20.value (
|
||||
<Url type="application/opensearchdescription+xml"
|
||||
rel="self"
|
||||
template="{getIndpEnv:TYPO3_SITE_URL}index.php?type={TSFE:type}&L={TSFE:sys_language_uid}" />
|
||||
)
|
||||
|
||||
|
||||
|
||||
# link the search page
|
||||
30 = TEXT
|
||||
30.insertData = 1
|
||||
30.value (
|
||||
<Url type="text/html"
|
||||
method="GET"
|
||||
template="{getIndpEnv:TYPO3_SITE_URL}index.php?id={$plugin.tx_meilisearch.search.targetPage}&L={TSFE:sys_language_uid}
|
||||
)
|
||||
|
||||
31 = TEXT
|
||||
31.value = q
|
||||
31.wrap = &|={searchTerms}" />
|
||||
|
||||
|
||||
|
||||
# link to auto suggestion provider
|
||||
40 = TEXT
|
||||
40.insertData = 1
|
||||
40.value (
|
||||
<Url type="application/x-suggestions+json"
|
||||
rel="suggestions"
|
||||
template="{getIndpEnv:TYPO3_SITE_URL}index.php?id={$plugin.tx_meilisearch.search.targetPage}&L={TSFE:sys_language_uid}&eID=tx_meilisearch_suggest&format=OpenSearch
|
||||
)
|
||||
|
||||
41 = TEXT
|
||||
41.value = q
|
||||
41.wrap = &|={searchTerms}" />
|
||||
|
||||
|
||||
|
||||
500 = TEXT
|
||||
500.value (
|
||||
|
||||
</OpenSearchDescription>
|
||||
)
|
||||
|
||||
}
|
2
Configuration/TypoScript/Solr/constants.txt
Normal file
2
Configuration/TypoScript/Solr/constants.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Solr/constants.typoscript'
|
27
Configuration/TypoScript/Solr/constants.typoscript
Normal file
27
Configuration/TypoScript/Solr/constants.typoscript
Normal file
@@ -0,0 +1,27 @@
|
||||
plugin.tx_meilisearch {
|
||||
# cat=meilisearch: basic/10/enable; type=boolean; label=Enable/disable Solr extension: EXT:meilisearch should only be enabled for relevant sys_languages, to avoid unnecessary connections and overwritten contents.
|
||||
enabled = 1
|
||||
|
||||
view {
|
||||
templateRootPath =
|
||||
partialRootPath =
|
||||
layoutRootPath =
|
||||
}
|
||||
|
||||
meilisearch {
|
||||
scheme = http
|
||||
host = localhost
|
||||
port = 8983
|
||||
path = /meilisearch/core_en/
|
||||
username =
|
||||
password =
|
||||
}
|
||||
|
||||
search {
|
||||
targetPage = 0
|
||||
|
||||
results {
|
||||
resultsPerPage = 10
|
||||
}
|
||||
}
|
||||
}
|
2
Configuration/TypoScript/Solr/setup.txt
Normal file
2
Configuration/TypoScript/Solr/setup.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/Solr/setup.typoscript'
|
429
Configuration/TypoScript/Solr/setup.typoscript
Normal file
429
Configuration/TypoScript/Solr/setup.typoscript
Normal file
@@ -0,0 +1,429 @@
|
||||
plugin.tx_meilisearch {
|
||||
|
||||
enabled = {$plugin.tx_meilisearch.enabled}
|
||||
|
||||
enableDebugMode = 0
|
||||
|
||||
general {
|
||||
dateFormat.date = d.m.Y H:i
|
||||
}
|
||||
|
||||
meilisearch {
|
||||
read {
|
||||
scheme = {$plugin.tx_meilisearch.meilisearch.scheme}
|
||||
host = {$plugin.tx_meilisearch.meilisearch.host}
|
||||
port = {$plugin.tx_meilisearch.meilisearch.port}
|
||||
path = {$plugin.tx_meilisearch.meilisearch.path}
|
||||
username = {$plugin.tx_meilisearch.meilisearch.username}
|
||||
password = {$plugin.tx_meilisearch.meilisearch.password}
|
||||
}
|
||||
write {
|
||||
scheme = {$plugin.tx_meilisearch.meilisearch.scheme}
|
||||
host = {$plugin.tx_meilisearch.meilisearch.host}
|
||||
port = {$plugin.tx_meilisearch.meilisearch.port}
|
||||
path = {$plugin.tx_meilisearch.meilisearch.path}
|
||||
username = {$plugin.tx_meilisearch.meilisearch.username}
|
||||
password = {$plugin.tx_meilisearch.meilisearch.password}
|
||||
}
|
||||
}
|
||||
|
||||
index {
|
||||
additionalFields {
|
||||
|
||||
}
|
||||
|
||||
// assigns processing instructions to Solr fields during indexing, Solr field = processing instruction
|
||||
fieldProcessingInstructions {
|
||||
changed = timestampToIsoDate
|
||||
created = timestampToIsoDate
|
||||
endtime = timestampToUtcIsoDate
|
||||
rootline = pageUidToHierarchy
|
||||
}
|
||||
|
||||
queue {
|
||||
|
||||
// mapping tableName.fields.SolrFieldName => TableFieldName (+ cObj processing)
|
||||
|
||||
pages = 1
|
||||
pages {
|
||||
initialization = WapplerSystems\Meilisearch\IndexQueue\Initializer\Page
|
||||
|
||||
// allowed page types (doktype) when indexing records from table "pages"
|
||||
allowedPageTypes = 1,4,7
|
||||
|
||||
indexingPriority = 0
|
||||
|
||||
indexer = WapplerSystems\Meilisearch\IndexQueue\PageIndexer
|
||||
indexer {
|
||||
// add options for the indexer here
|
||||
}
|
||||
|
||||
// Only index standard pages and mount points that are not overlayed.
|
||||
additionalWhereClause = (doktype = 1 OR doktype=4 OR (doktype=7 AND mount_pid_ol=0)) AND no_search = 0
|
||||
|
||||
//exclude some html parts inside TYPO3SEARCH markers by classname (comma list)
|
||||
excludeContentByClass = typo3-search-exclude
|
||||
|
||||
fields {
|
||||
sortSubTitle_stringS = subtitle
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
search {
|
||||
// fields that are allowed to contain html and should be skipped during escaping after retrieval from Solr
|
||||
// by default all fields except url get escaped, you might need to add other url fields here as well because of &
|
||||
// characters in the url.
|
||||
trustedFields = url
|
||||
|
||||
targetPage = {$plugin.tx_meilisearch.search.targetPage}
|
||||
|
||||
initializeWithEmptyQuery = 0
|
||||
showResultsOfInitialEmptyQuery = 0
|
||||
|
||||
initializeWithQuery =
|
||||
showResultsOfInitialQuery = 0
|
||||
|
||||
keepExistingParametersForNewSearches = 0
|
||||
|
||||
ignoreGlobalQParameter = 0
|
||||
|
||||
query {
|
||||
allowEmptyQuery = 0
|
||||
|
||||
allowedSites = __solr_current_site
|
||||
|
||||
// qf parameter http://wiki.apache.org/solr/DisMaxQParserPlugin#qf_.28Query_Fields.29
|
||||
queryFields = content^40.0, title^5.0, keywords^2.0, tagsH1^5.0, tagsH2H3^3.0, tagsH4H5H6^2.0, tagsInline^1.0, description^4.0, abstract^1.0, subtitle^1.0, navtitle^1.0, author^1.0
|
||||
|
||||
// fl parameter http://wiki.apache.org/solr/CommonQueryParameters#fl
|
||||
returnFields = *, score
|
||||
|
||||
// see http://wiki.apache.org/solr/DisMaxRequestHandler#mm_.28Minimum_.27Should.27_Match.29
|
||||
minimumMatch =
|
||||
|
||||
// see http://wiki.apache.org/solr/DisMaxRequestHandler#bf_.28Boost_Functions.29
|
||||
boostFunction =
|
||||
|
||||
// see http://wiki.apache.org/solr/DisMaxQParserPlugin#bq_.28Boost_Query.29
|
||||
boostQuery =
|
||||
|
||||
// see http://lucene.apache.org/solr/guide/7_0/the-dismax-query-parser.html#the-tie-tie-breaker-parameter
|
||||
tieParameter =
|
||||
|
||||
filter {
|
||||
|
||||
}
|
||||
|
||||
sortBy =
|
||||
|
||||
// https://www.hathitrust.org/blogs/large-scale-search/slow-queries-and-common-words-part-2
|
||||
// http://blog.thedigitalgroup.com/vijaym/understanding-phrasequery-and-slop-in-solr/
|
||||
// https://solr.pl/en/2010/07/14/solr-and-phrasequery-phrase-bonus-in-query-stage/
|
||||
|
||||
// see https://lucene.apache.org/solr/guide/7_0/the-dismax-query-parser.html#TheDisMaxQueryParser-Thepf_PhraseFields_Parameter
|
||||
// EXT:Solr configures Schemas from Apache Solr to use content field with boost of 2.0 per default.
|
||||
// By enabling of phrase search, Apache Solr will build a phrase queries for a list of defined fields(phrase.fields) and boost the documents containing the terms in defined proximity(phrase.slop).
|
||||
// phrase.querySlop
|
||||
phrase = 0
|
||||
phrase {
|
||||
// Note: Those are field for implicit phrase searching. On explicit "phrase searching" Apache Solr uses queryFields("qf" parameter)
|
||||
fields = content^10.0, title^10.0, tagsH1^10.0, tagsH2H3^10.0, tagsH4H5H6^10.0, tagsInline^10.0, description^10.0, abstract^10.0, subtitle^10.0, navtitle^10.0
|
||||
// The number of words between words in query phrase is the slop-value.
|
||||
// e.g. on query phrase "Hello World"
|
||||
// @ slop = 0 will math "Hello World" but not "Hello wonderful World"
|
||||
// @ slop = 1 will math "Hello World" and/or "Hello wonderful World"
|
||||
// Note: this value is for implicit phrase searching(without double quotes)
|
||||
slop = 0
|
||||
|
||||
// The concept of query slop is similar to phrase.slop but it applies to the explicit phrase queries from the user and to match documents instead of boosting.
|
||||
// Also if the user uses double quotes in the search term, then
|
||||
// the query slop value is used and
|
||||
// the result contains only the documents with those phrase.
|
||||
// see https://lucene.apache.org/solr/guide/7_0/the-extended-dismax-query-parser.html http://lucene.472066.n3.nabble.com/Query-slop-vs-phrase-slop-td1637041.html
|
||||
// Note: this value is for explicit "phrase searching"(with double quotes)
|
||||
querySlop = 0
|
||||
}
|
||||
|
||||
// bigram phrase functionality is similar to the Ngram filters, difference is that
|
||||
// filters strip down the words to chars(char combinations)
|
||||
// bigraming phrases strip down the sentence to the two-word combinations(phrases)
|
||||
// e.g. "bigraming phrases strip down the sentence to phrases" generates following
|
||||
// "bigraming phrases"
|
||||
// "phrases strip"
|
||||
// "strip down"
|
||||
// "down the"
|
||||
// "the sentence"
|
||||
// "sentence to"
|
||||
// "to phrases"
|
||||
// Note: The triplets phrases will be stripped down to two two-word phrases
|
||||
bigramPhrase = 0
|
||||
bigramPhrase {
|
||||
fields = content^10.0, title^10.0, tagsH1^10.0, tagsH2H3^10.0, tagsH4H5H6^10.0, tagsInline^10.0, description^10.0, abstract^10.0, subtitle^10.0, navtitle^10.0
|
||||
slop = 0
|
||||
}
|
||||
|
||||
// Please see bigram phrases. Difference to bi is tri, which means building of triplets phrases.
|
||||
// e.g. "trigraming phrases strip down the sentence to triplets phrases" generates following triplets
|
||||
// "trigraming phrases strip"
|
||||
// "phrases strip down"
|
||||
// "strip down the"
|
||||
// "down the sentence"
|
||||
// "the sentence to"
|
||||
// "sentence to triplets"
|
||||
// "to triplets phrases"
|
||||
trigramPhrase = 0
|
||||
trigramPhrase {
|
||||
fields = content^10.0, title^10.0, tagsH1^10.0, tagsH2H3^10.0, tagsH4H5H6^10.0, tagsInline^10.0, description^10.0, abstract^10.0, subtitle^10.0, navtitle^10.0
|
||||
slop = 0
|
||||
}
|
||||
}
|
||||
|
||||
results {
|
||||
resultsHighlighting = 0
|
||||
resultsHighlighting {
|
||||
highlightFields = content
|
||||
fragmentSize = 200
|
||||
fragmentSeparator = [...]
|
||||
|
||||
wrap = <span class="results-highlight">|</span>
|
||||
}
|
||||
siteHighlighting = 0
|
||||
|
||||
resultsPerPage = {$plugin.tx_meilisearch.search.results.resultsPerPage}
|
||||
resultsPerPageSwitchOptions = 10, 25, 50
|
||||
|
||||
showDocumentScoreAnalysis = 0
|
||||
}
|
||||
|
||||
spellchecking = 0
|
||||
spellchecking {
|
||||
wrap = |<div class="spelling-suggestions">###LLL:didYouMean### |</div>|
|
||||
searchUsingSpellCheckerSuggestion = 0
|
||||
numberOfSuggestionsToTry = 1
|
||||
}
|
||||
|
||||
lastSearches = 0
|
||||
lastSearches {
|
||||
limit = 10
|
||||
// tracking mode "user" or "global"
|
||||
mode = user
|
||||
}
|
||||
|
||||
frequentSearches = 0
|
||||
frequentSearches {
|
||||
useLowercaseKeywords = 0
|
||||
|
||||
minSize = 14
|
||||
maxSize = 32
|
||||
limit = 20
|
||||
|
||||
select {
|
||||
SELECT = keywords as search_term, count(*) as hits
|
||||
FROM = tx_meilisearch_statistics
|
||||
ADD_WHERE = AND num_found != 0
|
||||
GROUP_BY = keywords
|
||||
ORDER_BY = hits DESC, search_term ASC
|
||||
checkRootPageId = 1
|
||||
checkLanguage = 1
|
||||
}
|
||||
|
||||
// cache lifetime in seconds (default is 86400s = 24h)
|
||||
cacheLifetime = 86400
|
||||
}
|
||||
|
||||
sorting = 0
|
||||
sorting {
|
||||
defaultOrder = asc
|
||||
|
||||
options {
|
||||
relevance {
|
||||
field = relevance
|
||||
label = Relevance
|
||||
}
|
||||
|
||||
title {
|
||||
field = sortTitle
|
||||
label = Title
|
||||
}
|
||||
|
||||
type {
|
||||
field = type
|
||||
label = Type
|
||||
}
|
||||
|
||||
author {
|
||||
field = sortAuthor
|
||||
label = Author
|
||||
}
|
||||
|
||||
created {
|
||||
field = created
|
||||
label = Creation Date
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
faceting = 0
|
||||
faceting {
|
||||
minimumCount = 1
|
||||
sortBy = count
|
||||
limit = 10
|
||||
showEmptyFacets = 0
|
||||
keepAllFacetsOnSelection = 0
|
||||
|
||||
facetLinkUrlParameters =
|
||||
|
||||
facets {
|
||||
type {
|
||||
label = Content Type
|
||||
field = type
|
||||
}
|
||||
}
|
||||
|
||||
showAllLink.wrap = <li>|</li>
|
||||
}
|
||||
|
||||
elevation = 0
|
||||
elevation {
|
||||
markElevatedResults = 1
|
||||
forceElevation = 1
|
||||
}
|
||||
|
||||
variants = 0
|
||||
variants {
|
||||
expand = 1
|
||||
// variantField needs to be a string or a numeric field
|
||||
variantField = variantId
|
||||
limit = 10
|
||||
}
|
||||
}
|
||||
|
||||
suggest = 0
|
||||
suggest {
|
||||
numberOfSuggestions = 10
|
||||
suggestField = spell
|
||||
forceHttps = 0
|
||||
showTopResults = 1
|
||||
numberOfTopResults = 5
|
||||
}
|
||||
|
||||
statistics = 0
|
||||
statistics {
|
||||
anonymizeIP = 1
|
||||
}
|
||||
|
||||
view {
|
||||
pluginNamespace = tx_meilisearch
|
||||
|
||||
templateRootPaths {
|
||||
0 = EXT:meilisearch/Resources/Private/Templates/
|
||||
10 = {$plugin.tx_meilisearch.view.templateRootPath}
|
||||
}
|
||||
partialRootPaths {
|
||||
0 = EXT:meilisearch/Resources/Private/Partials/
|
||||
10 = {$plugin.tx_meilisearch.view.partialRootPath}
|
||||
}
|
||||
layoutRootPaths {
|
||||
0 = EXT:meilisearch/Resources/Private/Layouts/
|
||||
10 = {$plugin.tx_meilisearch.view.layoutRootPath}
|
||||
}
|
||||
|
||||
// By convention the templates is loaded from EXT:meilisearch/Resources/Private/Templates/Frontend/Search/(ActionName).html
|
||||
// If you want to define a different entry template, you can do this here to overwrite the conventional default template
|
||||
// if you want to use FLUID fallbacks you can just configure the template name, otherwise you could also use a full reference EXT:/.../
|
||||
// The templates that you configure in availableTemplate can be used in the flexform by the editor to select a template for the concrete plugin instance.
|
||||
templateFiles {
|
||||
// results = Results
|
||||
// results.availableTemplates {
|
||||
// default {
|
||||
// label = Default Searchresults Template
|
||||
// file = Results
|
||||
// }
|
||||
// }
|
||||
// form = Form
|
||||
// form.availableTemplates {
|
||||
// default {
|
||||
// label = Default Searchform Template
|
||||
// file = Form
|
||||
// }
|
||||
// }
|
||||
// frequentSearched = FrequentlySearched
|
||||
}
|
||||
}
|
||||
|
||||
logging {
|
||||
exceptions = 1
|
||||
debugOutput = 0
|
||||
|
||||
indexing {
|
||||
indexQueueInitialization = 0
|
||||
missingTypo3SearchMarkers = 1
|
||||
pageIndexed = 0
|
||||
|
||||
queue {
|
||||
pages = 0
|
||||
}
|
||||
}
|
||||
|
||||
query {
|
||||
filters = 0
|
||||
searchWords = 0
|
||||
queryString = 0
|
||||
rawPost = 0
|
||||
rawGet = 0
|
||||
rawDelete = 0
|
||||
}
|
||||
}
|
||||
|
||||
features {
|
||||
requireCHashArgumentForActionArguments = 0
|
||||
useRawDocuments = 1
|
||||
}
|
||||
}
|
||||
|
||||
# Provide typoscript libraries
|
||||
lib.solr_extbase_bootstrap = USER
|
||||
lib.solr_extbase_bootstrap {
|
||||
userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
|
||||
vendorName = ApacheSolrForTypo3
|
||||
extensionName = Solr
|
||||
settings < plugin.tx_meilisearch.settings
|
||||
persistence < plugin.tx_meilisearch.persistence
|
||||
view < plugin.tx_meilisearch.view
|
||||
}
|
||||
|
||||
plugin.tx_meilisearch_PiResults_Results < lib.solr_extbase_bootstrap
|
||||
plugin.tx_meilisearch_PiResults_Results = USER_INT
|
||||
plugin.tx_meilisearch_PiResults_Results {
|
||||
pluginName = pi_results
|
||||
switchableControllerActions {
|
||||
Search {
|
||||
1 = results
|
||||
2 = form
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
plugin.tx_meilisearch_PiSearch_Search < lib.solr_extbase_bootstrap
|
||||
plugin.tx_meilisearch_PiSearch_Search {
|
||||
pluginName = pi_search
|
||||
switchableControllerActions {
|
||||
Search {
|
||||
1 = form
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
plugin.tx_meilisearch_PiFrequentSearches_FrequentSearches < lib.solr_extbase_bootstrap
|
||||
plugin.tx_meilisearch_PiFrequentSearches_FrequentSearches {
|
||||
pluginName = pi_frequentlySearched
|
||||
switchableControllerActions {
|
||||
Search {
|
||||
1 = frequentlySearched
|
||||
}
|
||||
}
|
||||
}
|
||||
|
2
Configuration/TypoScript/StyleSheets/setup.txt
Normal file
2
Configuration/TypoScript/StyleSheets/setup.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
# Important: This file is deprecated and will removed with EXT:meilisearch 12.x
|
||||
@import 'EXT:meilisearch/Configuration/TypoScript/StyleSheets/setup.typoscript'
|
4
Configuration/TypoScript/StyleSheets/setup.typoscript
Normal file
4
Configuration/TypoScript/StyleSheets/setup.typoscript
Normal file
@@ -0,0 +1,4 @@
|
||||
page.includeCSS {
|
||||
search = EXT:meilisearch/Resources/Public/StyleSheets/Frontend/results.css
|
||||
solr-loader = EXT:meilisearch/Resources/Public/StyleSheets/Frontend/loader.css
|
||||
}
|
Reference in New Issue
Block a user