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
|
<?xml version="1.0" encoding="utf-8"?>
<test>
<name>aggregate functions</name>
<requires>
<variant_match />
</requires>
<num_agents>3</num_agents>
<config>
indexer
{
mem_limit = 16M
}
searchd
{
<searchd_settings/>
<dynamic>
<variant>
dist_threads = 2
</variant>
<variant />
</dynamic>
}
source srctest
{
type = mysql
<sql_settings/>
sql_query = SELECT * FROM test_table
sql_attr_uint = gid
sql_attr_float = price
sql_attr_uint = views
}
source srctest2 : srctest
{
sql_query = SELECT document_id+10, body, gid, price, views FROM test_table
}
source srctest3 : srctest
{
sql_query = SELECT document_id+20, body, gid, price*2 price, views FROM test_table
}
<agent0>
index test
{
source = srctest
path = <data_path/>/test
docinfo = extern
}
index test3
{
source = srctest3
path = <data_path/>/test3
docinfo = extern
}
index dist
{
type = distributed
local = test
agent = <agent_address/>:test2
}
index dist2
{
type = distributed
agent = <agent1_address/>:test2
agent = <agent2_address/>:testr
}
index dist3
{
type = distributed
local = test
agent = <agent_address/>:test2,test4
}
source src10
{
type = mysql
<sql_settings/>
sql_query = SELECT 1 id, 11 idd, 'aab cd' as text
sql_attr_uint = idd
}
index i10
{
source = src10
path = <data_path/>/i10
docinfo = extern
dict = keywords
min_prefix_len = 1
}
index i11
{
source = src10
path = <data_path/>/i11
docinfo = extern
dict = keywords
min_prefix_len = 1
}
index i12
{
source = src10
path = <data_path/>/i12
docinfo = extern
charset_table = b..z
dict = keywords
min_prefix_len = 1
}
</agent0>
<agent1>
index test2
{
source = srctest2
path = <data_path/>/test2
docinfo = extern
}
index test4 : test2
{
path = <data_path/>/test4
}
</agent1>
<agent2>
index testr
{
source = srctest
path = <data_path/>/testr
docinfo = extern
}
</agent2>
</config>
<queries>
<query index="test" select="avg(price) as avgprice,gid*10 as xgid" groupattr="gid"/>
<query index="test" select="gid,price,views,avg(price) as avgprice" groupattr="gid"/>
<query index="test" select="gid,price,views,sum(views) as sumviews, avg(price) as avgprice" groupattr="gid"/>
<query index="dist" select="gid,price,views,avg(price) as avgprice" groupattr="gid"/>
<query index="dist" select="gid,price,views,sum(views) as sumviews, avg(price) as avgprice" groupattr="gid"/>
<query index="dist2" select="gid,price,views,avg(price) as avgprice" groupattr="gid"/>
<query index="dist2" select="gid,price,views,sum(views) as sumviews, avg(price) as avgprice" groupattr="gid"/>
<query index="dist3" select="gid,price,views,avg(price) as avgprice" groupattr="gid"/>
<query index="dist3" select="gid,price,views,sum(views) as sumviews, avg(price) as avgprice" groupattr="gid"/>
<query index="test" select="gid, sum(views) as sumviews, avg(price) as avgprice" groupattr="gid"/>
<query index="test3" select="gid, sum(views) as sumviews, avg(price) as avgprice" groupattr="gid"/>
<query index="test,test3" select="gid, sum(views) as sumviews, avg(price) as avgprice" groupattr="gid"/>
</queries>
<sphqueries>
<sphinxql>select * from i10 where match('aa* abc')</sphinxql>
<sphinxql>show meta</sphinxql>
<sphinxql>select * from i10, i11 where match('aa* abc')</sphinxql>
<sphinxql>show meta</sphinxql>
<sphinxql>select * from i11, i10 where match('aa* abc')</sphinxql>
<sphinxql>show meta</sphinxql>
<sphinxql>select * from i10, i12 where match('aa* abc')</sphinxql>
<sphinxql>show meta</sphinxql>
<sphinxql>select * from i12, i10 where match('aa* abc')</sphinxql>
<sphinxql>show meta</sphinxql>
</sphqueries>
<db_create>
CREATE TABLE test_table
(
document_id INTEGER NOT NULL PRIMARY KEY,
body VARCHAR(255) NOT NULL,
gid INTEGER NOT NULL,
price FLOAT NOT NULL,
views INTEGER NOT NULL
)
</db_create>
<db_drop>
DROP TABLE IF EXISTS test_table
</db_drop>
<db_insert>
INSERT INTO test_table VALUES
( 1, 'dummy', 1, 20.00, 3 ),
( 2, 'dummy', 1, 15.00, 15 ),
( 3, 'dummy', 1, 10.00, 7 ),
( 4, 'dummy', 1, 10.00, 40 )
</db_insert>
</test>
|