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 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
|
<?xml version="1.0" encoding="utf-8"?>
<test>
<name>groupby</name>
<requires> <variant_match /> </requires>
<config>
indexer
{
mem_limit = 16M
}
searchd
{
<searchd_settings/>
}
source srctest
{
type = mysql
<sql_settings/>
sql_query_pre = set time_zone='+0:00'
sql_query = SELECT document_id, tag, UNIX_TIMESTAMP(time) as time, mva, body FROM test_table
sql_attr_uint = TAg
sql_attr_timestamp = time
<Dynamic>
<Variant>sql_attr_multi = uint mva from field;</Variant>
<Variant>sql_attr_multi = bigint mva from field;</Variant>
</Dynamic>
}
index test
{
source = srctest
path = <data_path/>/test
min_word_len = 1
min_prefix_len = 1
}
source srctest2 : srctest
{
sql_query = SELECT document_id+10, tag+20 AS tag, UNIX_TIMESTAMP(time) as time, mva, body FROM test_table
}
index test2 : test
{
source = srctest2
path = <data_path/>/test2
}
source srcmini1 : srctest
{
sql_query = SELECT document_id, tag, UNIX_TIMESTAMP(time) as time, mva, body FROM test_table WHERE document_id IN (1,7)
}
index mini1 : test
{
source = srcmini1
path = <data_path/>/mini1
}
source srcmini2 : srctest
{
sql_query = SELECT document_id, tag, UNIX_TIMESTAMP(time) as time, mva, body FROM test_table WHERE document_id IN (1)
}
index mini2 : test
{
source = srcmini2
path = <data_path/>/mini2
}
source src_mva64
{
type = mysql
<sql_settings/>
sql_query = SELECT document_id, 11 as tag, mva1, 'dummy' FROM table64_0
sql_attr_uint = tag
sql_attr_multi = bigint mva1 from field
sql_attr_multi = bigint mva2 from query; SELECT id, mva2 FROM table64_1
}
index mva64
{
source = src_mva64
path = <data_path/>/mva64
}
source src_mva_mixed
{
type = mysql
<sql_settings/>
sql_query = SELECT document_id, 11 as tag, mva, 'dummy' FROM test_table
sql_attr_uint = tag
sql_attr_multi = bigint mva2 from query; SELECT id, mva2 FROM table64_1
sql_attr_multi = uint mva from field
}
index mva_mixed
{
source = src_mva_mixed
path = <data_path/>/mva_mixed
}
</config>
<queries>
<query mode="extended2" index="test" groupattr="TaG" groupfunc="attr" groupsort="@group desc"></query>
<query mode="extended2" index="test" groupattr="tag" groupfunc="attr" groupsort="@group asc"></query>
<query mode="extended2" index="test" groupattr="tag" groupfunc="attr" groupsort="@count desc"></query>
<query mode="extended2" index="test" groupattr="tag" groupfunc="attr" groupsort="@count asc"></query>
<query mode="extended2" index="test" groupattr="tag" groupfunc="attr" groupsort="tAG desc"></query>
<query mode="extended2" index="test" groupattr="time" groupfunc="day">test*</query>
<query mode="extended2" index="test" groupattr="tIMe" groupfunc="week">test*</query>
<query mode="extended2" index="test" groupattr="time" groupfunc="month">test*</query>
<query mode="extended2" index="test" groupattr="time" groupfunc="year">test*</query>
<query mode="extended2" index="test" groupattr="mva" groupfunc="attr" groupsort="@group desc" resarray="1">test*</query>
<query mode="extended2" index="test" groupattr="mva" groupfunc="attr" groupsort="@group asc" resarray="1">test*</query>
<query mode="extended2" index="test" groupattr="time" groupfunc="year" groupdistinct="tag"></query>
<query mode="extended2" index="test2" groupattr="time" groupfunc="year" groupdistinct="tAG"></query>
<query mode="extended2" index="test,test2" groupattr="time" groupfunc="year" groupdistinct="tag"></query>
<query mode="extended2" index="mini1,mini2" groupattr="time" groupfunc="year" groupdistinct="tag"></query>
<query mode="extended2" index="test" groupattr="tag" groupsort="@group asc" sortmode="extended" sortby="time asc">test*</query>
<query mode="extended2" index="test" groupattr="tAg" groupsort="@groUp asc" sortmode="extended" sortby="@id desc" select="*,BIGINT(@id*10) as q" filter="q" filter_range="0 1000">test*</query>
<!-- here is going regression mva64 hasn't indexed -->
<query mode="extended2" index="mva64"></query>
<query mode="extended2" index="mva64" sortmode="extended" sortby="id asc"></query>
<query mode="extended2" index="mva64" sortmode="extended" sortby="id desc"></query>
<query mode="extended2" index="mva_mixed"></query>
<query mode="extended2" index="mva_mixed" sortmode="extended" sortby="id desc"></query>
</queries>
<sphqueries>
<sphinxql>SELECT * FROM mva64</sphinxql>
<sphinxql>SELECT * FROM mva64 ORDER BY id desc</sphinxql>
<sphinxql>SELECT * FROM mva64 ORDER BY id asc</sphinxql>
<sphinxql>SELECT * FROM mva_mixed</sphinxql>
<sphinxql>SELECT * FROM mva_mixed GROUP BY mva ORDER BY id desc</sphinxql>
<sphinxql>SELECT * FROM mva_mixed ORDER BY id desc</sphinxql>
</sphqueries>
<db_create>
CREATE TABLE `test_table`
(
`document_id` int(11) NOT NULL default '0',
`tag` int(11) NOT NULL default '0',
`time` datetime,
`mva` varchar(255) NOT NULL default '',
`body` varchar(255) NOT NULL default ''
)
</db_create>
<db_drop>
DROP TABLE IF EXISTS `test_table`
</db_drop>
<db_insert>
INSERT INTO `test_table` VALUES
( 1, 1, '2007-12-01 12:00:00', '1,2,3', 'test1' ),
( 2, 2, '2006-05-02 12:00:00', '3,4,5', 'test2' ),
( 3, 2, '2005-06-03 12:00:00', '4,5,6', 'test3' ),
( 4, 3, '2005-07-04 12:00:00', '1,2,3', 'test4' ),
( 5, 3, '2003-09-05 12:00:00', '3,5', 'test5' ),
( 6, 3, '2003-09-06 12:00:00', '3,5', 'test6' ),
( 7, 4, '2007-12-01 12:00:00', '4,5', 'test7' ),
( 8, 4, '2006-05-02 12:00:00', '4,5,6', 'test8' ),
( 9, 4, '2005-06-03 12:00:00', '4', 'test9' ),
( 10, 4,'2005-07-04 12:00:00', '3,4,5', 'test10' )
</db_insert>
<db_create>
CREATE TABLE `table64_0`
(
`document_id` int(11) NOT NULL default '0',
`mva1` varchar(255) NOT NULL default ''
)
</db_create>
<db_drop>DROP TABLE IF EXISTS `table64_0`</db_drop>
<db_insert>
INSERT INTO `table64_0` VALUES
( 1, '10000000112 10000000124 10000000110 10000000111 10000000113' ),
( 2, '10000000242 10000000224 10000000210 10000000221 10000000213' ),
( 3, '10000000332 10000000314 10000000310 10000000391 10000000393' ),
( 4, '10000000442 10000000424 10000000410 10000000461 10000000413' )
</db_insert>
<db_create>
CREATE TABLE `table64_1`
(
`id` int(11) NOT NULL default '0',
`mva2` bigint NOT NULL default 0
)
</db_create>
<db_drop>DROP TABLE IF EXISTS `table64_1`</db_drop>
<db_insert>
INSERT INTO `table64_1` VALUES
( 1, 50000000112), (1, 50000000124), (1, 50000000110), (1, 50000000111), (1, 50000000113),
( 2, 50000000242), (2, 50000000224), (2, 50000000210), (2, 50000000221), (2, 50000000213),
( 3, 50000000332), (3, 50000000314), (3, 50000000310), (3, 50000000391), (3, 50000000393),
( 4, 50000000442), (4, 50000000424), (4, 50000000410), (4, 50000000461), (4, 50000000413)
</db_insert>
</test>
|