Daniel-KM / Omeka-S-module-AdvancedSearch

Module for Omeka S that improves search with new fields, auto-suggest, filters, facets, specific pages, etc.
Other
3 stars 2 forks source link

Error "Search by value" #9

Closed coret closed 1 week ago

coret commented 10 months ago

When I do an advanced "Search by value" (by selecting a properties, search operator and value) in Omeka S (version 4.0.4) admin or in (public) site I get the error as shown below.

Note: If I disable the Advanced Search module (version 3.4.13), I do get search results.

Doctrine\ORM\Query\QueryException: SELECT omeka_root FROM Omeka\Entity\Item omeka_root LEFT JOIN omeka_root.values omeka_0 WITH omeka_0.property = 512 WHERE (omeka_0.valueResource IN(SELECT omeka_2.id FROM Omeka\Entity\Resource omeka_2 WHERE omeka_2.title LIKE :omeka_1 ORDER BY ) OR omeka_0.value LIKE :omeka_1 OR omeka_0.uri LIKE :omeka_1) GROUP BY omeka_root.id ORDER BY omeka_root.created DESC, omeka_root.id DESC in ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php:25
Stack trace:
#0 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(494): Doctrine\ORM\Query\QueryException::dqlError()
#1 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(358): Doctrine\ORM\Query\Parser->syntaxError()
#2 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(1066): Doctrine\ORM\Query\Parser->match()
#3 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(1567): Doctrine\ORM\Query\Parser->ResultVariable()
#4 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(1452): Doctrine\ORM\Query\Parser->OrderByItem()
#5 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(1478): Doctrine\ORM\Query\Parser->OrderByClause()
#6 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(3170): Doctrine\ORM\Query\Parser->Subselect()
#7 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2645): Doctrine\ORM\Query\Parser->InExpression()
#8 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2532): Doctrine\ORM\Query\Parser->SimpleConditionalExpression()
#9 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2508): Doctrine\ORM\Query\Parser->ConditionalPrimary()
#10 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2476): Doctrine\ORM\Query\Parser->ConditionalFactor()
#11 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2451): Doctrine\ORM\Query\Parser->ConditionalTerm()
#12 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2553): Doctrine\ORM\Query\Parser->ConditionalExpression()
#13 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2508): Doctrine\ORM\Query\Parser->ConditionalPrimary()
#14 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2476): Doctrine\ORM\Query\Parser->ConditionalFactor()
#15 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2451): Doctrine\ORM\Query\Parser->ConditionalTerm()
#16 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(1405): Doctrine\ORM\Query\Parser->ConditionalExpression()
#17 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(916): Doctrine\ORM\Query\Parser->WhereClause()
#18 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(883): Doctrine\ORM\Query\Parser->SelectStatement()
#19 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(293): Doctrine\ORM\Query\Parser->QueryLanguage()
#20 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(393): Doctrine\ORM\Query\Parser->getAST()
#21 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query.php(274): Doctrine\ORM\Query\Parser->parse()
#22 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query.php(286): Doctrine\ORM\Query->parse()
#23 ../vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(1181): Doctrine\ORM\Query->_doExecute()
#24 ../vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(1135): Doctrine\ORM\AbstractQuery->executeIgnoreQueryCache()
#25 ../vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(871): Doctrine\ORM\AbstractQuery->execute()
#26 ../vendor/doctrine/orm/lib/Doctrine/ORM/Tools/Pagination/Paginator.php(171): Doctrine\ORM\AbstractQuery->getResult()
#27 ../application/src/Api/Adapter/AbstractEntityAdapter.php(327): Doctrine\ORM\Tools\Pagination\Paginator->getIterator()
#28 ../application/src/Api/Manager.php(221): Omeka\Api\Adapter\AbstractEntityAdapter->search()
#29 ../application/src/Api/Manager.php(59): Omeka\Api\Manager->execute()
#30 ../AdvancedSearch/src/Api/ManagerDelegator.php(134): Omeka\Api\Manager->search()
#31 ../application/src/Mvc/Controller/Plugin/Api.php(63): AdvancedSearch\Api\ManagerDelegator->search()
#32 ../application/src/Controller/Admin/ItemController.php(37): Omeka\Mvc\Controller\Plugin\Api->search()
#33 ../vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Omeka\Controller\Admin\ItemController->browseAction()
#34 ../vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\Mvc\Controller\AbstractActionController->onDispatch()
#35 ../vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\EventManager\EventManager->triggerListeners()
#36 ../vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\EventManager\EventManager->triggerEventUntil()
#37 ../vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\Mvc\Controller\AbstractController->dispatch()
#38 ../vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\Mvc\DispatchListener->onDispatch()
#39 ../vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\EventManager\EventManager->triggerListeners()
#40 ../vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\EventManager\EventManager->triggerEventUntil()
#41 ../index.php(21): Laminas\Mvc\Application->run()
#42 {main}

Next Doctrine\ORM\Query\QueryException: [Syntax Error] line 0, col 244: Error: Expected Doctrine\ORM\Query\Lexer::T_IDENTIFIER, got ')' in ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php:36
Stack trace:
#0 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(494): Doctrine\ORM\Query\QueryException::syntaxError()
#1 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(358): Doctrine\ORM\Query\Parser->syntaxError()
#2 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(1066): Doctrine\ORM\Query\Parser->match()
#3 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(1567): Doctrine\ORM\Query\Parser->ResultVariable()
#4 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(1452): Doctrine\ORM\Query\Parser->OrderByItem()
#5 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(1478): Doctrine\ORM\Query\Parser->OrderByClause()
#6 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(3170): Doctrine\ORM\Query\Parser->Subselect()
#7 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2645): Doctrine\ORM\Query\Parser->InExpression()
#8 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2532): Doctrine\ORM\Query\Parser->SimpleConditionalExpression()
#9 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2508): Doctrine\ORM\Query\Parser->ConditionalPrimary()
#10 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2476): Doctrine\ORM\Query\Parser->ConditionalFactor()
#11 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2451): Doctrine\ORM\Query\Parser->ConditionalTerm()
#12 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2553): Doctrine\ORM\Query\Parser->ConditionalExpression()
#13 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2508): Doctrine\ORM\Query\Parser->ConditionalPrimary()
#14 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2476): Doctrine\ORM\Query\Parser->ConditionalFactor()
#15 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(2451): Doctrine\ORM\Query\Parser->ConditionalTerm()
#16 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(1405): Doctrine\ORM\Query\Parser->ConditionalExpression()
#17 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(916): Doctrine\ORM\Query\Parser->WhereClause()
#18 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(883): Doctrine\ORM\Query\Parser->SelectStatement()
#19 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(293): Doctrine\ORM\Query\Parser->QueryLanguage()
#20 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php(393): Doctrine\ORM\Query\Parser->getAST()
#21 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query.php(274): Doctrine\ORM\Query\Parser->parse()
#22 ../vendor/doctrine/orm/lib/Doctrine/ORM/Query.php(286): Doctrine\ORM\Query->parse()
#23 ../vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(1181): Doctrine\ORM\Query->_doExecute()
#24 ../vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(1135): Doctrine\ORM\AbstractQuery->executeIgnoreQueryCache()
#25 ../vendor/doctrine/orm/lib/Doctrine/ORM/AbstractQuery.php(871): Doctrine\ORM\AbstractQuery->execute()
#26 ../vendor/doctrine/orm/lib/Doctrine/ORM/Tools/Pagination/Paginator.php(171): Doctrine\ORM\AbstractQuery->getResult()
#27 ../application/src/Api/Adapter/AbstractEntityAdapter.php(327): Doctrine\ORM\Tools\Pagination\Paginator->getIterator()
#28 ../application/src/Api/Manager.php(221): Omeka\Api\Adapter\AbstractEntityAdapter->search()
#29 ../application/src/Api/Manager.php(59): Omeka\Api\Manager->execute()
#30 ../modules/AdvancedSearch/src/Api/ManagerDelegator.php(134): Omeka\Api\Manager->search()
#31 ../application/src/Mvc/Controller/Plugin/Api.php(63): AdvancedSearch\Api\ManagerDelegator->search()
#32 ../application/src/Controller/Admin/ItemController.php(37): Omeka\Mvc\Controller\Plugin\Api->search()
#33 ../vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Omeka\Controller\Admin\ItemController->browseAction()
#34 ../vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\Mvc\Controller\AbstractActionController->onDispatch()
#35 ../vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\EventManager\EventManager->triggerListeners()
#36 ../vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\EventManager\EventManager->triggerEventUntil()
#37 ../vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\Mvc\Controller\AbstractController->dispatch()
#38 ../vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\Mvc\DispatchListener->onDispatch()
#39 ../vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\EventManager\EventManager->triggerListeners()
#40 ../vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\EventManager\EventManager->triggerEventUntil()
#41 ../index.php(21): Laminas\Mvc\Application->run()
#42 {main}
Daniel-KM commented 10 months ago

Hi, I know this issue because somebody else warn about it. But i cannot reproduce it. I think it is an issue with composer or a mix in vendor directories or a compatibility with modules, but not sure. Did you tried with all modules disabled except Advanced Search? Do you use the zip install of Omeka and modules or git ? Or can you send me a copy of your Omeka install (omeka zip included vendor directories, without themes and other modules)?

Daniel-KM commented 9 months ago

Hi, I think it is an issue with the php cache, so i added a cache reset in module EasyAdmin (version 3.4.15). Can you try if it is enough? If it does not work, i added a task too to export the installation as zip in the module EasyAdmin, so the module can do a backup now.

Daniel-KM commented 9 months ago

So the issue may occur when the server or the virtual machine is not a standard one, so when the php cache is not notified when the files are updated.