sudo Posted December 8, 2015 Posted December 8, 2015 2 hours ago, Rhett said: I can confirm this is working after clearing the cache, here are the currently needed steps to do this. In your my.cnf or your mysql config file, (will vary depending on setup) add/edit the following line ft_min_word_len=3 Restart mysql Rebuild search index in IPS4 Run the first step of the support tool to clean the cached files mentioned above. Success! Are you going to apply the change here as well? 3 letter search is so essential when looking for things and currently it doesn't seem to work here. I presume the same would apply for Aurora parameters.
jcdesign Posted December 8, 2015 Posted December 8, 2015 I´m not understand the IPS 4 new search. In 3.4 all words was finded, but not now. Search can find word like P2 but not saw or her. I got many files that have the word saw, but search finds nothing If not the word saw has two lines like saw II.
Flitterkill Posted December 8, 2015 Posted December 8, 2015 Just a heads up that a recent bug fix has caused some problems in that if you are using InnoDB for your posts table and are setting the InnoDB character search variable to determine the minimum number of characters to search that variable is ignored, as shown above, IPS now reads the MyIsam ft_min_word_len variable *exclusively* to determine the minimum search length. So if you are running with Inno you have to set both the Inno and MyIsam vars - one to make IPS work, the other so your DB works. No, I have no idea why after telling everyone that InnoDB is the way to go for full text searching and so on why they are now pulling the MyIsam variable directly instead of accounting for both or letting us choose. Also, it's possible on upgrading that the posts table gets reverted to MyIsam even if you had it set to InnoDB. Bug report submitted a few weeks back. That, of course, will cause problems as well...
RevengeFNF Posted December 8, 2015 Posted December 8, 2015 Im using MariaDB 10.1, and i have Innodb setup to 3 letters and i changed MyISAM to also 3 letter, and i still can only search words with 4 letters minimum.
Rhett Posted December 8, 2015 Posted December 8, 2015 Just now, RevengeFNF said: Im using MariaDB 10.1, and i have Innodb setup to 3 letters and i changed MyISAM to also 3 letter, and i still can only search words with 4 letters minimum. Did you rebuild your search index, and also run the support tool to clear the cache? If so and you are on 415, it should be working. I tested specifically on MariaDB as well.
RevengeFNF Posted December 8, 2015 Posted December 8, 2015 2 minutes ago, Rhett said: Did you rebuild your search index, and also run the support tool to clear the cache? If so and you are on 415, it should be working. I tested specifically on MariaDB as well. Well, i rebuild search index yesterday. It was setup with innodb for 3 letters and myisam for 4 letter. Today i changed myisam also to 3 letters. But my search index is using innodb, not myisam. I should rebuild search index again?
Rhett Posted December 8, 2015 Posted December 8, 2015 Yes, give that a try, be sure to clear the caches as well, run the support tool to do so.
RevengeFNF Posted December 9, 2015 Posted December 9, 2015 23 hours ago, Rhett said: Yes, give that a try, be sure to clear the caches as well, run the support tool to do so. It worked
Rhett Posted December 9, 2015 Posted December 9, 2015 Just now, RevengeFNF said: It worked Great to hear!
sasiko Posted December 9, 2015 Author Posted December 9, 2015 well new problem u cant search 2 words.. works only 1 word now...
Rhett Posted December 9, 2015 Posted December 9, 2015 21 minutes ago, maidos said: well new problem u cant search 2 words.. works only 1 word now... Example?
Maya Andersen Posted November 7, 2016 Posted November 7, 2016 Hi! I just have some extra information to add to this. I just wanted to know how it really worked. The permanent solution to this would be to change 'ft_min_word_len' in mysql.ini which IPS 4 manually reads to use for it's own kind of full text search. It is not a native mysql full text search. 'ft_min_word_len' is not in ini as default, and it's default is '4'. You will have to add it in the [mysqld] section. If you don't have access to mysql.ini you can hack/override this function instead: termAsWordsArray() in \forum\system\Content\Search\Query.php Comment/delete the lines that checks for 'ft_min_word_len' in mysql.ini, and make sure the default stated further down is up to your needs. I my case the min default was 3 as needed I am currently using 4.1.16.1
Tracy Perry Posted November 7, 2016 Posted November 7, 2016 6 hours ago, Maya Andersen said: The permanent solution to this would be to change 'ft_min_word_len' in mysql.ini Exactly where is this "mysql.ini" located. All Linux installations I've used that have mySQL installed, the mysql config file is my.cnf.
Maya Andersen Posted November 8, 2016 Posted November 8, 2016 19 hours ago, Tracy Perry said: Exactly where is this "mysql.ini" located. All Linux installations I've used that have mySQL installed, the mysql config file is my.cnf. Hi Tracy! A good question. Here is MySql's answer:http://dev.mysql.com/doc/refman/5.7/en/option-files.html Basically it looks like there can be more possible locations on Windows. In my Xampp install on windows the mysql_installservice.bat file creates a windows service where the location is set to the "mysql/bin/my.ini" location using the option "--defaults-file", which is one of the examples how to do it. <3 Maya
Tracy Perry Posted November 8, 2016 Posted November 8, 2016 1 hour ago, Maya Andersen said: Basically it looks like there can be more possible locations on Windows That was my point.. you didn't specify that you were referencing a Windows install (I was pretty sure you were as every Linux package uses my.cnf by default as I said). That's why, when giving recommendations/suggestions, in many cases it helps to clarify what OS you are on/referring to when telling someone to look for a particular file somewhere. A Linux admin would have spent forever looking for that file (but honestly, if they were using Linux, I'd hope most of them would know that mySQL uses my.cnf). And as for Xampp - I won't comment other than to say "Don't use, won't use it". If I'm going to set up an environment on a Windows box, I'm going to duplicate what I would be using in the real world - by running a VM and installing Linux of one flavor or another and duplicating my ENTIRE setup process.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.