1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
|
<?xml version="1.0" encoding="utf-8"?>
<test>
<name>ATTACH INDEX</name>
<config>
indexer
{
mem_limit = 16M
}
searchd
{
<searchd_settings/>
workers = threads
}
source disk
{
type = mysql
<sql_settings/>
sql_query = select * from test_table
sql_attr_uint = gid
}
index disk
{
source = disk
path = <data_path/>/disk
charset_table = a..z, A..Z->a..z
html_strip = 1
html_remove_elements = stuff
}
index rt
{
type = rt
path = data/rt
rt_attr_uint = gid1
rt_attr_uint = gid2
rt_field = title
rt_field = content
charset_table = a..z, A..Z->a..z, _
}
source src_plain
{
type = mysql
<sql_settings/>
sql_query = select id, title, 'dummy for' as str1, '55, 15, 20' as mva1, '' as mva2, gid from test_table
sql_attr_string = str1
sql_attr_multi = uint mva1 from field
sql_attr_multi = uint mva2 from field
sql_attr_uint = gid
}
index plain
{
source = src_plain
path = <data_path/>/plain
}
index rt_arena
{
type = rt
path = data/rt_arena
rt_field = title
rt_attr_string = str1
rt_attr_multi = mva1
rt_attr_uint = gid
}
source src_a1
{
type = mysql
<sql_settings/>
sql_query = select id, title, 'dummy' as body, gid from test_table
sql_attr_uint = gid
}
index a1
{
source = src_a1
path = <data_path/>/a1
}
index rt1
{
type = rt
path = data/rt1
rt_field = title
rt_field = body
rt_attr_uint = gid
}
index disk1
{
source = disk
path = <data_path/>/disk1
charset_table = a..z, A..Z->a..z
}
index disk2
{
source = disk
path = <data_path/>/disk2
charset_table = a..z, A..Z->a..z
}
index disk3
{
source = disk
path = <data_path/>/disk3
charset_table = a..z, A..Z->a..z
}
index rt_d1
{
type = rt
path = data/rt_d1
rt_field = title
rt_attr_uint = gid
}
</config>
<db_create>
CREATE TABLE test_table
(
id INTEGER PRIMARY KEY NOT NULL,
gid INTEGER NOT NULL,
title VARCHAR(255) NOT NULL
);
</db_create>
<db_drop>DROP TABLE IF EXISTS test_table;</db_drop>
<db_insert><![CDATA[
INSERT INTO test_table VALUES
( 1, 11, 'Fare thee well' ),
( 2, 11, 'And if for ever got' ),
( 3, 11, 'Still for ever fare thee well' ),
( 4, 11, 'under_score <stuff>got removed</stuff>' )
]]></db_insert>
<sphqueries>
<sphinxql>SELECT * FROM rt</sphinxql>
<sphinxql>SELECT * FROM disk</sphinxql>
<sphinxql>SELECT * FROM disk WHERE MATCH('thee')</sphinxql>
<sphinxql>SELECT * FROM disk WHERE MATCH('under')</sphinxql>
<sphinxql>ATTACH INDEX disk TO RTINDEX rt</sphinxql>
<sphinxql>SELECT * FROM rt</sphinxql>
<sphinxql>SELECT * FROM disk</sphinxql>
<sphinxql>SELECT * FROM rt WHERE MATCH('thee')</sphinxql>
<sphinxql>DESC rt like '_i%'</sphinxql>
<sphinxql>INSERT INTO rt ( id, gid, title ) VALUES ( 10, 22, 'I dub thee unforgiven' )</sphinxql>
<sphinxql>SELECT * FROM rt WHERE MATCH('thee')</sphinxql>
<sphinxql><![CDATA[INSERT INTO rt ( id, gid, title ) VALUES ( 11, 22, 'under_score_again <stuff>but got here</stuff>' )]]></sphinxql>
<sphinxql>SELECT * FROM rt WHERE MATCH('under')</sphinxql>
<sphinxql>SELECT * FROM rt_arena</sphinxql>
<sphinxql>ATTACH INDEX plain TO RTINDEX rt_arena</sphinxql>
<sphinxql>SELECT * FROM rt_arena where mva1=15 order by id asc</sphinxql>
<sphinxql>SELECT * FROM rt_arena where mva1=55 order by id desc</sphinxql>
<sphinxql>SELECT * FROM rt_arena</sphinxql>
<!-- regression index settings have not been copied on attach -->
<sphinxql>SELECT * FROM rt WHERE MATCH('got')</sphinxql>
<!-- regression attach to existed RT index -->
<sphinxql>INSERT INTO rt1 ( id, gid, title, body ) VALUES ( 1, 22, 'dust me', 'well' ), ( 5, 22, 'dure me', 'thee off' ), ( 6, 22, 'dub me', 'thee well' )</sphinxql>
<sphinxql>ATTACH INDEX a1 TO RTINDEX rt1</sphinxql>
<sphinxql>SELECT * FROM rt1</sphinxql>
<sphinxql>SELECT * FROM rt1 WHERE MATCH('well')</sphinxql>
<sphinxql>SELECT * FROM rt1 WHERE MATCH('me | thee')</sphinxql>
<!-- regression duplicates passed from attached plain to existed RT index -->
<sphinxql>ATTACH INDEX disk1 TO RTINDEX rt_d1</sphinxql>
<sphinxql>ATTACH INDEX disk2 TO RTINDEX rt_d1</sphinxql>
<sphinxql>ATTACH INDEX disk3 TO RTINDEX rt_d1</sphinxql>
<sphinxql>SELECT * FROM rt_d1</sphinxql>
</sphqueries>
</test>
|