entschleunigung Posted May 21, 2019 Share Posted May 21, 2019 hi, i have a strange problem with the search since we had to move to a windows server. what worked fine before, now throws out the following error message: Error: Exception: SQLSTATE[HY000]: General error: 3696 The regular expression contains an unclosed bracket expression. the whole thing runs under Windows Server 2016 (x64) EN MySQL 8.0.15 PHP 7.2 it is the normal search.php of PW 3.0.213. i googled a bit but couldn't find anything to help me. has anyone experienced anything like this? greetings Link to comment Share on other sites More sharing options...
entschleunigung Posted June 5, 2019 Author Share Posted June 5, 2019 apparently i am alone with the problem. doesn't anyone else have a problem with mysql on windows? thank you Link to comment Share on other sites More sharing options...
flydev Posted June 6, 2019 Share Posted June 6, 2019 ProcessWire currently might not be compatible with this version of MySQL as the RegEx engine is not the same between MySQL 5.x and MySQL 8.x. Could you paste the full call-stack ? Link to comment Share on other sites More sharing options...
entschleunigung Posted June 6, 2019 Author Share Posted June 6, 2019 hi flydev, Error: Exception: SQLSTATE[HY000]: General error: 3696 The regular expression contains an unclosed bracket expression. (in D:\inetpub\wwwroot\default\wire\core\PageFinder.php line 416) #0 D:\inetpub\wwwroot\default\wire\core\Wire.php(386): ProcessWire\PageFinder->___find(Object(ProcessWire\Selectors), Array) #1 D:\inetpub\wwwroot\default\wire\core\WireHooks.php(723): ProcessWire\Wire->_callMethod('___find', Array) #2 D:\inetpub\wwwroot\default\wire\core\Wire.php(442): ProcessWire\WireHooks->runHooks(Object(ProcessWire\PageFinder), 'find', Array) #3 D:\inetpub\wwwroot\default\wire\core\PagesLoader.php(248): ProcessWire\Wire->__call('find', Array) #4 D:\inetpub\wwwroot\default\wire\core\Pages.php(238): ProcessWire\PagesLoader->find('has_parent=1, t...', Array) #5 D:\inetpub\wwwroot\default\wire\core\Wire.php(386): ProcessWire\Pages->___find('has_parent=1, t...', Array) #6 D:\inetpub\wwwroot\default\wire\core\WireHooks.php(723): ProcessWire\Wire->_callMethod('___find', Array) #7 D:\inetpub\wwwroot\default\wire\core\Wi This error message was shown because: you are logged in as a Superuser. Error has been logged. thanks for the moment. Link to comment Share on other sites More sharing options...
flydev Posted June 7, 2019 Share Posted June 7, 2019 I tested your setup in a VM but with a Linux distribution instead of a Windows and as a result , ProcessWire run smoothly on it, even the default search feature. I will install a Windows server today just to see if there is an extension which could mess the setup. Stay tuned.. 1 1 Link to comment Share on other sites More sharing options...
entschleunigung Posted June 25, 2019 Author Share Posted June 25, 2019 because I can't get any further here, maybe @ryan has some other idea what to do here to make the search work? Link to comment Share on other sites More sharing options...
horst Posted June 25, 2019 Share Posted June 25, 2019 5 hours ago, entschleunigung said: because I can't get any further here, maybe @ryan has some other idea what to do here to make the search work? You can post an issue on github, as Ryan may not see this here in the post. But he will see it on Github! 1 Link to comment Share on other sites More sharing options...
entschleunigung Posted June 26, 2019 Author Share Posted June 26, 2019 16 hours ago, horst said: You can post an issue on github, as Ryan may not see this here in the post. But he will see it on Github! i have unfortunately not yet dealt with github, so far i have been able to ignore it successfully. if someone wants to do that, i would be very grateful. thx 1 Link to comment Share on other sites More sharing options...
bernhard Posted June 26, 2019 Share Posted June 26, 2019 6 minutes ago, entschleunigung said: if someone wants to do that, i would be very grateful. Well, that would not be a problem at all, but don't you think this would be a good opportunity to create an account there and simply click the "new issue" button on your own (https://github.com/processwire/processwire-issues/issues) to show that you are willing to help resolving this issue? Using GIT was one the the major steps forward in the last few years for myself, so I'm quite sure you won't regret. PS: I haven't followed this topic; I'm sorry that I can't provide any help. 2 Link to comment Share on other sites More sharing options...
entschleunigung Posted June 26, 2019 Author Share Posted June 26, 2019 24 minutes ago, bernhard said: Using GIT was one the the major steps forward in the last few years for myself, so I'm quite sure you won't regret. thank you for your encouraging words, thx. 1 Link to comment Share on other sites More sharing options...
flydev Posted June 26, 2019 Share Posted June 26, 2019 Sorry mate, still not downloaded a Windows image as I am now on a 4G router, no more fiber ? I have to retrieve it from a friend this afternoon or tomorrow, again stay tuned ? 2 Link to comment Share on other sites More sharing options...
entschleunigung Posted June 26, 2019 Author Share Posted June 26, 2019 7 minutes ago, flydev said: Sorry mate all well, don't stress yourself. probably you are faster with your download and the installation than i learned github ? 2 Link to comment Share on other sites More sharing options...
bernhard Posted June 28, 2019 Share Posted June 28, 2019 Modern IDEs make this really easy: Link to comment Share on other sites More sharing options...
Vivian Posted December 4, 2019 Share Posted December 4, 2019 On 5/21/2019 at 8:07 AM, entschleunigung said: Error: Exception: SQLSTATE[HY000]: General error: 3696 The regular expression contains an unclosed bracket expression. I'm having the same issue on a CentOS build using a stack from Bitnami. I only get this error when I search with less than four characters. Have you had any luck with discovering the bug? Thanks, Vivian Link to comment Share on other sites More sharing options...
netcarver Posted December 4, 2019 Share Posted December 4, 2019 @entschleunigung and/or @Vivian Please create an issue on the processwire-issues repository on Github for this, as it needs to be looked at. @entschleunigung If you don't have a github account, just sign up for a free account, then follow the numbered steps on this page to add the issue to the issues repository. Thank you for your co-operation! 2 Link to comment Share on other sites More sharing options...
entschleunigung Posted December 4, 2019 Author Share Posted December 4, 2019 ryan had helped me a few weeks ago via PN. sorry that i didn't write the solution in the forum before. i hope it's no problem that i write the private message here. Quote MySQL's default minimum length for words in a fulltext index is 4 characters, so words under 4 characters aren't going to work unless you reduce that ft_min_word_len setting in MySQL and have it re-create the indexes. Now it doesn't usually throw an Exception, but there are a lot of settings and versions available for MySQL and MariaDB so perhaps your MySQL version or config is more strict in this regard. That's not a bad thing in this case, as it's good to know you've got a word that can't be searched. What I'd suggest doing is changing your operator from "~=" to "%=". If you need word-independent placement matches like ~=, remove your existing $sanitizer->selectorValue and you can do this: $selector = ''; $words = explode(' ', $q); foreach($words as $word) { $selector .= "title|teaser|body%=" . $sanitizer->selectorValue($word) . ", "; } $selector = rtrim($selector, ", "); 4 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now