first commit

This commit is contained in:
Sven Wappler
2021-04-17 00:26:33 +02:00
commit 866c63cc63
813 changed files with 100696 additions and 0 deletions

View 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'

View 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
}

View 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'

View 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
}

View 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'

View File

@@ -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
}

View File

@@ -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'

View File

@@ -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
}
}
}

View 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'

View File

@@ -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
}
}
}

View File

@@ -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'

View File

@@ -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
}

View File

@@ -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'

View File

@@ -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
}
}

View File

@@ -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'

View File

@@ -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
}

View File

@@ -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'

View File

@@ -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
}

View File

@@ -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'

View File

@@ -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
}

View File

@@ -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'

View File

@@ -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
}

View File

@@ -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'

View File

@@ -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
}

View File

@@ -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'

View File

@@ -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
}

View File

@@ -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'

View File

@@ -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
}
}
}

View 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'

View File

@@ -0,0 +1,7 @@
plugin.tx_meilisearch.search.query {
filter {
pagesOnlyFilter = type:pages
}
}

View File

@@ -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'

View File

@@ -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

View File

@@ -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'

View File

@@ -0,0 +1,17 @@
plugin.tx_meilisearch.index.queue {
news {
fields {
content {
cObject {
20 = SOLR_RELATION
20 {
localField = content_elements
foreignLabelField = bodytext
singleValueGlue = | |
}
}
}
}
}
}

View File

@@ -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'

View File

@@ -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

View 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'

View 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
}

View 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'

View 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
}

View 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'

View 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}&amp;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}&amp;L={TSFE:sys_language_uid}
)
31 = TEXT
31.value = q
31.wrap = &amp;|={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}&amp;L={TSFE:sys_language_uid}&amp;eID=tx_meilisearch_suggest&amp;format=OpenSearch
)
41 = TEXT
41.value = q
41.wrap = &amp;|={searchTerms}" />
500 = TEXT
500.value (
</OpenSearchDescription>
)
}

View 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'

View 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
}
}
}

View 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'

View 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
}
}
}

View 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'

View 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
}