I like your suggestion, but I was specifically talking about the linked comment, not the OP.I'ld probably put it behind a style property, but frankly a search icon on the end after the area selector would work a lot better than the current solution.
Relatedly, "show results as threads" is arguably the most important "advanced option", so I think it deserves its own checkbox next to "search titles only".
An alternative is to have an easy option to "show results as threads" on the search results page.
I think people who are new to XF search will find the default search results to be quite overwhelming and undesirable, especially for large forums. I personally had this issue until I happened to check out and experiment with the advanced options.
- Update installer to verify ElasticSearch index does not require rebuilding when this add-on is installed/updated/rebuilt
- Return 400 status code instead of 200 when the search query is wrong
ErrorException: [E_WARNING] include(/var/www/res1_kd_0003/htdocs/src/vendor/composer/../../../src/addons/XFES/Listener.php): Failed to open stream: No such file or directory in src/vendor/composer/ClassLoader.php at line 576
- XF::handlePhpError() in src/vendor/composer/ClassLoader.php at line 576
- include() in src/vendor/composer/ClassLoader.php at line 576
- Composer\Autoload\{closure}() in src/vendor/composer/ClassLoader.php at line 427
- Composer\Autoload\ClassLoader->loadClass() in src/addons/SV/StandardLib/InstallerHelper.php at line 678
- SV\SearchImprovements\Setup->checkElasticSearchOptimizableState() in src/addons/SV/SearchImprovements/Setup.php at line 120
- SV\SearchImprovements\Setup->postUpgrade() in src/XF/AddOn/AddOn.php at line 595
- XF\AddOn\AddOn->postUpgrade() in src/XF/Admin/Controller/AddOn.php at line 768
- XF\Admin\Controller\AddOn->actionFinalize() in src/XF/Mvc/Dispatcher.php at line 352
- XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 258
- XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 115
- XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 57
- XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2487
- XF\App->run() in src/XF.php at line 524
- XF::runApp() in admin.php at line 13
- Search extensions API changes for better XF compatibility, required for Conversation Improvements/Essentials
- XF2.3 compatibility fix for custom "SearchOrder" class
- Simplify
asSqlConstraint
code (expected to always return an array)AbstractConstraint::setMatchType
needs to normalize to an int forMetadataConstraint::matchType
- Add additional hookpoints for customizing "specialized search indexer" functionality
- On search results page, when searching a conversation(XF2.2)/direct message(XF2.3) display "with conversation/direct message"
ErrorException: {"sort":["_score",{"date":"desc"}],"docvalue_fields":["discussion_id","user","date"],"_source":false,"size":30,"query":{"bool":{"filter":[{"term":{"type":"thread"}},{"bool":{"must_not":[{"terms":{"node":[75,3,119,126,110,113,72,17,136,70]}}]}},{"range":{"last_update":{"gt":1716122675}}}],"must_not":[{"exists":{"field":"hidden"}},{"terms":{"node":[146,158,155,140,148,139]}},{"term":{"thread":7965}}],"must":[{"function_score":{"query":{"multi_match":{"type":"most_fields","query":"\u0420\u0443\u0431\u0430\u043b\u0435\u043a (rubalek.ru) \/ \u041c\u041a\u041a \u0421\u0438\u043c\u0435\u0442\u0440\u0430 - \u043e\u0442\u0437\u044b\u0432\u044b \u043e\u0442\u0437\u044b\u0432\u044b \u0440\u0443\u0431\u0430\u043b\u0435\u043a","operator":"or","fields":["title^1.5","elasticess_title","title.exact^2"]}},"functions":[{"filter":{"term":{"node":5}},"weight":1.5}]}}]}}} src/XF/Error.php:77
Сгенерирована пользователем: Неизвестная учётная запись 15 Ноя 2024 в 15:44
Трассировка стека
#0 src/XF.php(219): XF\Error->logError('{"sort":["_scor...', false)
#1 src/addons/SV/SearchImprovements/XFES/Elasticsearch/Api.php(48): XF::logError('{"sort":["_scor...')
#2 src/addons/XFES/Search/Source/Elasticsearch.php(750): SV\SearchImprovements\XFES\Elasticsearch\Api->search(Array)
#3 src/addons/SV/SearchImprovements/XFES/Search/Source/Elasticsearch.php(332): XFES\Search\Source\Elasticsearch->executeSearch(Object(SV\ElasticSearchEssentials\XF\Search\Query\KeywordQuery), Array, 30)
#4 src/addons/XFES/Search/Source/Elasticsearch.php(145): SV\SearchImprovements\XFES\Search\Source\Elasticsearch->executeSearch(Object(SV\ElasticSearchEssentials\XF\Search\Query\KeywordQuery), Array, 30)
#5 src/XF/Search/Search.php(185): XFES\Search\Source\Elasticsearch->search(Object(SV\ElasticSearchEssentials\XF\Search\Query\KeywordQuery), 30)
#6 src/XF/Search/Search.php(214): XF\Search\Search->XF\Search\{closure}(Object(SV\ElasticSearchEssentials\XF\Search\Query\KeywordQuery), 30)
#7 src/addons/SV/ElasticSearchEssentials/XF/Search/Search.php(48): XF\Search\Search->executeSearch(Object(SV\ElasticSearchEssentials\XF\Search\Query\KeywordQuery), 30, Object(Closure), true)
#8 src/XF/Search/Search.php(180): SV\ElasticSearchEssentials\XF\Search\Search->executeSearch(Object(SV\ElasticSearchEssentials\XF\Search\Query\KeywordQuery), 30, Object(Closure), true)
#9 src/addons/SV/ElasticSearchEssentials/Service/AutoCompleter.php(539): XF\Search\Search->search(Object(SV\ElasticSearchEssentials\XF\Search\Query\KeywordQuery), 30, true)
#10 src/addons/SV/ElasticSearchEssentials/Service/SimilarContentFinder.php(367): SV\ElasticSearchEssentials\Service\AutoCompleter->getResults()
#11 src/addons/SV/ElasticSearchEssentials/XFES/Widget/SimilarThreads.php(95): SV\ElasticSearchEssentials\Service\SimilarContentFinder->getSimilarContents()
#12 src/addons/SV/ElasticSearchEssentials/XFES/Widget/SimilarThreads.php(76): SV\ElasticSearchEssentials\XFES\Widget\SimilarThreads->getSimilarThreadIdsFromEss(Object(SV\SearchImprovements\XF\Entity\ThreadCollab))
#13 src/addons/SV/ElasticSearchEssentials/XFES/Widget/SimilarThreads.php(56): SV\ElasticSearchEssentials\XFES\Widget\SimilarThreads->getSimilarThreadFromEss(Object(SV\SearchImprovements\XF\Entity\ThreadCollab))
#14 src/addons/XFES/Widget/SimilarThreads.php(61): SV\ElasticSearchEssentials\XFES\Widget\SimilarThreads->getSimilarThreadsCache(Object(SV\SearchImprovements\XF\Entity\ThreadCollab))
#15 src/addons/SV/ElasticSearchEssentials/XFES/Widget/SimilarThreads.php(39): XFES\Widget\SimilarThreads->render()
#16 internal_data/code_cache/widgets/_41_xfes_thread_view_below_quick_reply_similar_threads.php(5): SV\ElasticSearchEssentials\XFES\Widget\SimilarThreads->render()
#17 src/XF/Template/Templater.php(7729): XF\SubContainer\Widget->{closure}(Object(NF\Tickets\XF\Template\Templater), Array, Array)
#18 src/XF/SubContainer/Widget.php(168): XF\Template\Templater->renderWidgetClosure(Object(Closure), Array)
#19 src/XF/Template/Templater.php(1940): XF\SubContainer\Widget->getCompiledWidget(Array, Array)
#20 internal_data/code_cache/templates/l9/s28/public/thread_view.php(1754): XF\Template\Templater->widgetPosition('sv_thread_view_...', Array)
#21 src/XF/Template/Templater.php(1655): XF\Template\Templater->{closure}(Object(NF\Tickets\XF\Template\Templater), Array, Object(XF\Template\ExtensionSet))
#22 src/addons/MaZ/AUN/XF/Template/Templater.php(39): XF\Template\Templater->renderTemplate('thread_view', Array, true, NULL)
#23 src/XF/Template/Template.php(24): MaZ\AUN\XF\Template\Templater->renderTemplate('public:thread_v...', Array)
#24 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#25 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Html->renderView('XF:Thread\\View', 'public:thread_v...', Array)
#26 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#27 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#28 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#29 src/XF/App.php(2485): XF\Mvc\Dispatcher->run()
#30 src/XF.php(524): XF\App->run()
#31 index.php(20): XF::runApp('XF\\Pub\\App')
#32 {main}
Содержимое запроса
array(4) {
["url"] => string(58) "/forum/threads/rubalek-rubalek-ru-mkk-simetra-otzyvy.7965/"
["referrer"] => string(23) "https://www.google.com/"
["_GET"] => array(0) {
}
["_POST"] => array(0) {
}
}
Check the number of documents in elasticsearch (elasticsearch setup page shows it) is the same or greater than the number of posts. If someone reset the search index it'll be much lower than you expect and you'll need to re-index the site.also having issue with search by user when user have posts but search shows nothing
Server error log
[LIST]
[*]TypeError: array_merge(): Argument #2 must be of type array, null given
[*]src/XF/Search/Search.php:294
[*]Generated by: blacksheelpone
[*]Nov 27, 2024 at 7:00 PM
[/LIST]
[HEADING=2]Stack trace[/HEADING]
#0 src/XF/Search/Search.php(294): array_merge(Array, NULL)
#1 src/XF/ResultSet.php(129): XF\Search\Search->XF\Search\{closure}(Object(SV\SearchImprovements\XF\Entity\ThreadCollab), 'thread', 31226)
#2 src/XF/Search/Search.php(285): XF\ResultSet->getResultsDataCallback(Object(Closure))
#3 src/XF/Pub/Controller/SearchController.php(123): XF\Search\Search->getAutoCompleteResults(Object(XF\ResultSet), Array)
#4 src/XF/Mvc/Dispatcher.php(362): XF\Pub\Controller\SearchController->actionAutoComplete(Object(XF\Mvc\ParameterBag))
#5 src/XF/Mvc/Dispatcher.php(264): XF\Mvc\Dispatcher->dispatchClass('XF:Search', 'AutoComplete', Object(XF\Mvc\RouteMatch), Object(SV\SearchImprovements\XF\Pub\Controller\SearchPatchFirst), NULL)
#6 src/XF/Mvc/Dispatcher.php(121): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(SV\SearchImprovements\XF\Pub\Controller\SearchPatchFirst), NULL)
#7 src/XF/Mvc/Dispatcher.php(63): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#8 src/XF/App.php(2826): XF\Mvc\Dispatcher->run()
#9 src/XF.php(806): XF\App->run()
#10 index.php(23): XF::runApp('XF\\Pub\\App')
#11 {main}
[HEADING=2]Request state[/HEADING]
array(4) {
["url"] => string(31) "/community/search/auto-complete"
["referrer"] => string(47) "https://jeep-cj.com/community/search/?type=post"
["_GET"] => array(0) {
}
["_POST"] => array(8) {
["_xfToken"] => string(8) "********"
["keywords"] => string(12) "blower motor"
["c"] => array(6) {
["users"] => string(0) ""
["newer_than"] => string(0) ""
["older_than"] => string(0) ""
["min_reply_count"] => string(1) "0"
["nodes"] => array(1) {
[0] => string(1) "1"
}
["child_nodes"] => string(1) "1"
}
["order"] => string(9) "relevance"
["search_type"] => string(4) "post"
["_xfResponseType"] => string(4) "json"
["_xfWithData"] => string(1) "1"
["_xfRequestUri"] => string(28) "/community/search/?type=post"
}
}
svSearchImprov_search_container.report
seems to be missing.<xf:set var="$phrase" value="{{ phrase_dynamic('svSearchImprov_search_container.'.$containerType) }}" />
<xf:set var="$label" value="{{
$phrase !== 'svSearchImprov_search_container.'.$containerType
? $phrase
: phrase('svSearchImprov_search_container.x_only', {
'containerType': $xf.app.getContentTypePhrase($containerType, true)|to_lower
})
}}" />
$phrase
becomes svSearchImprov_search_container.report
and thus phrase svSearchImprov_search_container.x_only
is used with parameter containerType
set to the lowercase of the content type plural phrase.$xf.language.language_code
and conditionally apply lowercase only for those languages that need it?
- Improve 3rd party support for specialized search index support
I think that should be reported as part of Report Improvements. I'm still catching up on tasks from my break over December/January, but a PR on the github repo for this add-on would help speed that up:Not sure if this is the correct place to report this, but phrasesvSearchImprov_search_container.report
seems to be missing.
So if https://xenforo.com/community/resources/report-improvements-by-xon.6905/ is used, the following template code will be executed:
Code:<xf:set var="$phrase" value="{{ phrase_dynamic('svSearchImprov_search_container.'.$containerType) }}" /> <xf:set var="$label" value="{{ $phrase !== 'svSearchImprov_search_container.'.$containerType ? $phrase : phrase('svSearchImprov_search_container.x_only', { 'containerType': $xf.app.getContentTypePhrase($containerType, true)|to_lower }) }}" />
As the phrase does not exist the content of variable$phrase
becomessvSearchImprov_search_container.report
and thus phrasesvSearchImprov_search_container.x_only
is used with parametercontainerType
set to the lowercase of the content type plural phrase.
This works fine for english (eg. reports) , but at least in German the phrase needs to be uppercase.
Could this be fixed by providing the requried phrase, either by this Add-on or by Report Improvements?
Alternatively (or additionally, would be appreciated to cover potential 3rd party content types) you could probably check$xf.language.language_code
and conditionally apply lowercase only for those languages that need it?
We use essential cookies to make this site work, and optional cookies to enhance your experience.