--- a/engine/solr/solr/conf/schema.xml Sat May 01 03:20:13 2010 +0200
+++ b/engine/solr/solr/conf/schema.xml Mon May 03 01:48:36 2010 +0200
@@ -40,6 +40,7 @@
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
+ <filter class="solr.ASCIIFoldingFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="textdata" class="solr.TextField" sortMissingLast="true" omitNorms="true" >
@@ -47,17 +48,21 @@
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.TrimFilterFactory" />
+ <filter class="solr.ASCIIFoldingFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="French" />
</analyzer>
</fieldType>
<fieldType name="tags" class="solr.TextField" sortMissingLast="true" omitNorms="true" >
<analyzer>
- <tokenizer class="solr.StandardTokenizerFactory" pattern=",*" />
+ <tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.TrimFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="French" />
+ <filter class="solr.ASCIIFoldingFilterFactory" />
</analyzer>
</fieldType>
+ <fieldType name="tags_exact" class="solr.StrField" sortMissingLast="true" omitNorms="true" >
+ </fieldType>
<fieldType name="personsList" class="solr.TextField" sortMissingLast="true" omitNorms="true" >
<analyzer>
<tokenizer class="solr.PatternTokenizerFactory" pattern="; *" />
@@ -95,9 +100,10 @@
<field name="original_title" type="title" indexed="true" stored="false" required="false" />
<field name="desc" type="textdata" indexed="true" stored="false" required="false" />
<field name="tags" type="tags" indexed="true" stored="true" required="false" multiValued="true" />
+ <field name="tags_exact" type="tags_exact" indexed="true" stored="true" required="false" multiValued="true" />
<field name="directors" type="personsList" indexed="true" stored="false" required="false" />
<field name="actors" type="personsList" indexed="true" stored="false" required="false" />
- <field name="all" type="textdata" indexed="true" stored="true" required="false" multiValued="true" />
+ <field name="all" type="textdata" indexed="true" stored="false" required="false" multiValued="true" />
</fields>
@@ -118,4 +124,7 @@
<copyField source="directors" dest="all"/>
<copyField source="actors" dest="all"/>
+ <copyField source="tags" dest="tags_exact"/>
+
+
</schema>
--- a/web/thdProject/apps/frontend/modules/tag/actions/viewTagListAction.class.php Sat May 01 03:20:13 2010 +0200
+++ b/web/thdProject/apps/frontend/modules/tag/actions/viewTagListAction.class.php Mon May 03 01:48:36 2010 +0200
@@ -14,7 +14,7 @@
$solr = uvmcSolrServicesManager::getInstance()->getService();
- $response = $solr->search("tags:".$this->tag, $this->pageIndex * $this->pageNbItems, $this->pageNbItems);
+ $response = $solr->search("tags_exact:".$this->tag, $this->pageIndex * $this->pageNbItems, $this->pageNbItems);
$results = unserialize($response->getRawResponse());
--- a/web/thdProject/apps/frontend/modules/tag/templates/viewTagListSuccess.php Sat May 01 03:20:13 2010 +0200
+++ b/web/thdProject/apps/frontend/modules/tag/templates/viewTagListSuccess.php Mon May 03 01:48:36 2010 +0200
@@ -1,6 +1,12 @@
<?php slot('sideBar'); ?>
-<?php include_component( 'tag', 'tagNavigator', array("film"=>$film)); ?>
+<?php
+if(isset($film)) {
+ include_component( 'tag', 'tagNavigator', array("film"=>$film));
+}?>
<?php end_slot(); ?>
<h3 class="head">Résultats pour : <i><?php echo $tag; ?></i></h3>
-<?php include_component( 'tag', 'player', array("film"=>$film)); ?>
+<?php
+if(isset($film)) {
+ include_component( 'tag', 'player', array("film"=>$film));
+}?>
<?php include_partial('tag/suggestionFilmList', array('filter' => 'all', 'filmCount' => '10', 'mostTaggedFilms' => $mostTaggedFilms, 'pageIndex' => $pageIndex, 'pageNbItems' => $pageNbItems, 'tag' => $tag)); ?>
--- a/web/thdProject/lib/core/ThdUtil.php Sat May 01 03:20:13 2010 +0200
+++ b/web/thdProject/lib/core/ThdUtil.php Mon May 03 01:48:36 2010 +0200
@@ -81,13 +81,13 @@
//facet=true&facet.limit=-1&facet.field=tags
- $parameters = Array('facet'=>'true', 'facet.limit'=>"$limit", 'facet.field'=>'tags' );
+ $parameters = Array('facet'=>'true', 'facet.limit'=>"$limit", 'facet.field'=>'tags_exact' );
$solr = uvmcSolrServicesManager::getInstance()->getService();
$response = $solr->search("*:*", 0, 0, $parameters);
$result = unserialize($response->getRawResponse());
- foreach ($result["facet_counts"]["facet_fields"]["tags"] as $tag_name => $count) {
+ foreach ($result["facet_counts"]["facet_fields"]["tags_exact"] as $tag_name => $count) {
$tags[] = Array('tag' => $tag_name, 'count' => (int) $count);
}