Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doctrine-dbal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tomáš Trávníček
doctrine-dbal
Commits
975069e0
Commit
975069e0
authored
Jul 26, 2007
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
--no commit message
--no commit message
parent
7c7645f8
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
70 additions
and
53 deletions
+70
-53
QueryTestCase.php
tests/Search/QueryTestCase.php
+70
-53
No files found.
tests/Search/QueryTestCase.php
View file @
975069e0
...
@@ -57,68 +57,85 @@ class Doctrine_Search_Query_TestCase extends Doctrine_UnitTestCase
...
@@ -57,68 +57,85 @@ class Doctrine_Search_Query_TestCase extends Doctrine_UnitTestCase
$e
->
save
();
$e
->
save
();
}
}
public
function
testQuerySupportsSingleWordSearch
()
{
$q
=
new
Doctrine_Search_Query
(
'SearchTestIndex'
);
$q
->
search
(
'doctrine'
);
$sql
=
'SELECT COUNT(keyword) AS relevance, search_test_id '
.
'FROM search_test_index WHERE keyword = ?'
;
$this
->
assertEqual
(
$q
->
getSql
(),
$sql
);
}
public
function
testQuery
ing
()
public
function
testQuery
SupportsMultiWordSearch
()
{
{
$q
=
new
Doctrine_Query
();
$q
=
new
Doctrine_Search_Query
(
'SearchTestIndex'
);
$q
->
select
(
's.*'
)
$q
->
search
(
'doctrine orm'
);
->
from
(
'SearchTest s'
);
$sq
=
new
Doctrine_Search_Query
(
$q
);
$sql
=
'SELECT COUNT(keyword) AS relevance, search_test_id '
$sq
->
addAlias
(
'i'
);
.
'FROM search_test_index '
$sq
->
search
(
'ORM framework'
);
.
'WHERE search_test_id IN (SELECT search_test_id FROM search_test_index WHERE keyword = ?) '
.
'AND search_test_id IN (SELECT search_test_id FROM search_test_index WHERE keyword = ?) '
.
'GROUP BY search_test_id'
;
//print $q->getDql(
);
$this
->
assertEqual
(
$q
->
getSql
(),
$sql
);
//$coll = $sq->execute();
}
public
function
testQuerySupportsMultiWordSearchWithWeights
()
{
$q
=
new
Doctrine_Search_Query
(
'SearchTestIndex'
);
$q
->
search
(
'doctrine^2 orm'
);
$sql
=
'SELECT COUNT(keyword) AS relevance, search_test_id '
.
'FROM search_test_index '
.
'WHERE search_test_id IN (SELECT search_test_id FROM search_test_index WHERE keyword = ?) '
.
'AND search_test_id IN (SELECT search_test_id FROM search_test_index WHERE keyword = ?) '
.
'GROUP BY search_test_id'
;
//$this->assertEqual($coll[0]->relevancy, 2);
$this
->
assertEqual
(
$q
->
getSql
(),
$sql
);
//$this->assertEqual($coll[1]->relevancy, 0);
}
}
public
function
test
GettingRelevancyValu
es
()
public
function
test
QuerySupportsMultiWordOrOperatorSearchWithQuot
es
()
{
{
$dql
=
'SELECT s.*,
$q
=
new
Doctrine_Search_Query
(
'SearchTestIndex'
);
(SELECT COUNT(o.position)
$q
->
search
(
"doctrine^2 OR 'dbal database'"
);
FROM SearchTestIndex o
WHERE o.keyword = ?
$sql
=
"SELECT foreign_id, SUM(relevancy) AS relevancy_sum FROM
AND s.id = o.searchtest_id) relevancy
(SELECT COUNT(keyword) * 2 AS relevancy, foreign_id
FROM SearchTest s LEFT JOIN s.SearchTestIndex i2
FROM search_index
WHERE i2.keyword = ?'
;
WHERE keyword = 'doctrine'
GROUP BY foreign_id
$q
=
new
Doctrine_Query
();
UNION
SELECT COUNT(keyword) AS relevancy, foreign_id
$q
->
parseQuery
(
$dql
);
FROM search_index) AS query_alias
$coll
=
$q
->
execute
(
array
(
'orm'
,
'orm'
),
Doctrine_Hydrate
::
HYDRATE_ARRAY
);
WHERE keyword = 'dbal' AND (position + 1) = (SELECT position FROM search_index WHERE keyword = 'database')
//print_r($coll);
GROUP BY foreign_id
//$this->assertEqual($coll[0]->relevancy, 2);
GROUP BY foreign_id
//$this->assertEqual($coll[1]->relevancy, 0)
;
ORDER BY relevancy_sum"
;
}
}
/**
public function test
GettingWeightedRelevancyValu
es()
public
function
test
QuerySupportsMultiWordAndOperatorSearchWithQuot
es
()
{
{
$dql = "SELECT s.*,
$q
=
new
Doctrine_Search_Query
(
'SearchTestIndex'
);
((SELECT COUNT(i.id)
$q
->
search
(
"doctrine AND 'dbal database'"
);
FROM SearchTestIndex i
WHERE i.keyword = ?
$sql
=
"SELECT foreign_id, SUM(relevancy) AS relevancy_sum FROM
AND i.searchtest_id = s.id
(SELECT COUNT(keyword) * 2 AS relevancy, foreign_id
AND i.field = 'title') * 2
FROM search_index
+
WHERE keyword = 'doctrine'
(SELECT COUNT(i.id)
GROUP BY foreign_id
FROM SearchTestIndex i
UNION
WHERE i.keyword = ?
SELECT COUNT(keyword) AS relevancy, foreign_id
AND i.searchtest_id = s.id
FROM search_index) AS query_alias
AND i.field = 'content')) relevancy
WHERE keyword = 'dbal' AND (position + 1) = (SELECT position FROM search_index WHERE keyword = 'database')
FROM SearchTest s";
GROUP BY foreign_id
WHERE search_test_id IN (SELECT search_test_id FROM search_test_index
$q = new Doctrine_Query();
WHERE keyword = ?)
AND seach_test_id IN (SELECT search_test_id FROM search_test_index
$q->parseQuery($dql);
WHERE keyword = 'dbal'
$coll = $q->execute(array('orm'));
AND (position + 1) = (SELECT position FROM search_index WHERE keyword = 'database')
GROUP BY foreign_id
$this->assertEqual($coll[0]->relevancy, 2);
ORDER BY relevancy_sum"
;
$this->assertEqual($coll[1]->relevancy, 0);
}
}
*/
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment