root/solr/files/lib/data/solr/SolrSearch.class.php @ 1190

Revision 1190, 1.7 kB (checked in by d0nut, 3 years ago)

finished solr RC 1

Line 
1<?php
2// wcf imports
3require_once(WCF_DIR.'lib/data/message/search/AbstractSearchableMessageType.class.php');
4require_once(WCF_DIR.'lib/data/solr/SolrSearchResult.class.php');
5
6/**
7 * An implementation of SearchableMessageType for searching in user contests.
8 *
9 * @author      Torben Brodt
10 * @copyright   2010 easy-coding.de
11 * @license     GNU General Public License <http://opensource.org/licenses/gpl-3.0.html>
12 * @package     de.easy-coding.wcf.solr
13 */
14class SolrSearch extends AbstractSearchableMessageType {
15        protected $messageCache = array();
16       
17        public function isAccessible() {
18                return false;
19        }
20       
21        /**
22         * Caches the data of the messages with the given ids.
23         * just a pseudo definition
24         */
25        public function cacheMessageData($messageIDs, $additionalData = null) {
26                if(is_array($additionalData)) {
27                        foreach($additionalData as $row) {
28                                $entry = new SolrSearchResult($row);
29                                if($entry->isViewable()) {
30                                        $this->messageCache[$row['messageID']] = $row;
31                                        $this->messageCache[$row['messageID']]['message'] = $entry;
32                                }
33                        }
34                }
35        }
36       
37        /**
38         * @see SearchableMessageType::getMessageData()
39         */
40        public function getMessageData($messageID, $additionalData = null) {
41                if (isset($this->messageCache[$messageID])) return $this->messageCache[$messageID];
42                return null;
43        }
44       
45        /**
46         * Returns the database table name for this search type.
47         * just a pseudo definition
48         */
49        public function getTableName() {
50                return 'wcf'.WCF_N.'_solr';
51        }
52       
53        /**
54         * Returns the message id field name for this search type.
55         * just a pseudo definition
56         */
57        public function getIDFieldName() {
58                return 'solrID';
59        }
60       
61        /**
62         * @see SearchableMessageType::getResultTemplateName()
63         */
64        public function getResultTemplateName() {
65                return 'searchResultSolr';
66        }
67}
68?>
Note: See TracBrowser for help on using the browser.