Unable to set mysql variable...

Questions about the MySQL, PostgreSQL, and most other databases, as well as using it with PHP can be asked here.

Moderator: General Moderators

Post Reply
User avatar
raghavan20
DevNet Resident
Posts: 1451
Joined: Sat Jun 11, 2005 6:57 am
Location: London, UK
Contact:

Unable to set mysql variable...

Post by raghavan20 »

I am trying to bring down the minimum number of characters necessary for a full text search...

Code: Select all

mysql> show variables like 'ft%';
+--------------------------+----------------+
| Variable_name            | Value          |
+--------------------------+----------------+
| ft_boolean_syntax        | + -><()~*:""&| |
| ft_max_word_len          | 84             |
| ft_min_word_len          | 4              |
| ft_query_expansion_limit | 20             |
| ft_stopword_file         | (built-in)     |
+--------------------------+----------------+
5 rows in set (0.08 sec)

mysql> set ft_min_word_len=2
    -> ;
ERROR 1193 (HY000): Unknown system variable 'ft_min_word_len'
mysql> set variable=ft_min_word_len=2;
ERROR 1193 (HY000): Unknown system variable 'variable'
jmut
Forum Regular
Posts: 945
Joined: Tue Jul 05, 2005 3:54 am
Location: Sofia, Bulgaria
Contact:

Post by jmut »

User avatar
raghavan20
DevNet Resident
Posts: 1451
Joined: Sat Jun 11, 2005 6:57 am
Location: London, UK
Contact:

Post by raghavan20 »

it is asking me to login..could you please paste the relevant information
josh
DevNet Master
Posts: 4872
Joined: Wed Feb 11, 2004 3:23 pm
Location: Palm beach, Florida

Post by josh »

Try the following:

* Put the following in an option file:

[mysqld]
ft_min_word_len=3

* Restart server.

* Rebuild your FULLTEXT indices:

mysql> REPAIR TABLE tbl_name QUICK;

NOTE: if you use myisamchk to perform an operation, i.e. repair, that modifies table indices put the following in an option file:

[myisamchk]
ft_min_word_len=3
jmut
Forum Regular
Posts: 945
Joined: Tue Jul 05, 2005 3:54 am
Location: Sofia, Bulgaria
Contact:

Post by jmut »

raghavan20 wrote:it is asking me to login..could you please paste the relevant information
Interesting I got in without login :))
Try the following:

* Put the following in an option file:

[mysqld]
ft_min_word_len=3

* Restart server.

* Rebuild your FULLTEXT indices:

mysql> REPAIR TABLE tbl_name QUICK;

NOTE: if you use myisamchk to perform an operation, i.e. repair, that modifies table indices put the following in an option file:

[myisamchk]
ft_min_word_len=3

Try onther browser or something it should not require any login :)
The topic is not very short.



....some posts later.
Thanks, it's working good now. Where should I store my custom stop words list? I tried placing it in the /ect/ directory on my server, but it doesn't seem to find it. Is there a good place to store this?

[mysqld]
safe-show-database
innodb_data_file_path=ibdata1:10M:autoextend
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
ft_min_word_len=2
ft_stopword_file = /ect/noisewords.txt

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[myisamchk]
ft_min_word_len=2
User avatar
raghavan20
DevNet Resident
Posts: 1451
Joined: Sat Jun 11, 2005 6:57 am
Location: London, UK
Contact:

Post by raghavan20 »

jshpro2 wrote:
Try the following:

* Put the following in an option file:

[mysqld]
ft_min_word_len=3

* Restart server.

* Rebuild your FULLTEXT indices:

mysql> REPAIR TABLE tbl_name QUICK;

NOTE: if you use myisamchk to perform an operation, i.e. repair, that modifies table indices put the following in an option file:

[myisamchk]
ft_min_word_len=3
What is meant by an option file...I already read this in Mysql manual but I cannot understand what they are saying..fyi...I am running Windows XP.

why does a normal set command work for this?
jmut
Forum Regular
Posts: 945
Joined: Tue Jul 05, 2005 3:54 am
Location: Sofia, Bulgaria
Contact:

Post by jmut »

User avatar
raghavan20
DevNet Resident
Posts: 1451
Joined: Sat Jun 11, 2005 6:57 am
Location: London, UK
Contact:

Post by raghavan20 »

I did put the ft_min_word_len option in the my.ini file in the base dir of mysql 5 but still it reads these options somewhereelse...anybody have got any idea where it reads from other than the ini file in basedir. I do not see min and max word options in this file before I put my custom option in it...

Code: Select all

[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306

#full text minimum word length
ft_min_word_len=2



#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.0/"

#Path to the database root
datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"

# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=latin1

# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB

# Set the SQL mode to strict
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

# The maximum amount of concurrent sessions the MySQL server will
# allow. One of these connections will be reserved for a user with
# SUPER privileges to allow the administrator to login even if the
# connection limit has been reached.
max_connections=100

# Query cache is used to cache SELECT results and later return them
# without actual executing the same query once again. Having the query
# cache enabled may result in significant speed improvements, if your
# have a lot of identical queries and rarely changing tables. See the
# "Qcache_lowmem_prunes" status variable to check if the current value
# is high enough for your load.
# Note: In case your tables change very often or if your queries are
# textually different every time, the query cache may result in a
# slowdown instead of a performance improvement.
query_cache_size=0

# The number of open tables for all threads. Increasing this value
# increases the number of file descriptors that mysqld requires.
# Therefore you have to make sure to set the amount of open files
# allowed to at least 4096 in the variable "open-files-limit" in
# section [mysqld_safe]
table_cache=256
Post Reply