diff -r 5b37998e522e -r 162c1de6545a web/lib/Zend/Search/Lucene/Field.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/lib/Zend/Search/Lucene/Field.php Fri Mar 11 15:05:35 2011 +0100 @@ -0,0 +1,226 @@ +name = $name; + $this->value = $value; + + if (!$isBinary) { + $this->encoding = $encoding; + $this->isTokenized = $isTokenized; + } else { + $this->encoding = ''; + $this->isTokenized = false; + } + + $this->isStored = $isStored; + $this->isIndexed = $isIndexed; + $this->isBinary = $isBinary; + + $this->storeTermVector = false; + $this->boost = 1.0; + } + + + /** + * Constructs a String-valued Field that is not tokenized, but is indexed + * and stored. Useful for non-text fields, e.g. date or url. + * + * @param string $name + * @param string $value + * @param string $encoding + * @return Zend_Search_Lucene_Field + */ + public static function keyword($name, $value, $encoding = '') + { + return new self($name, $value, $encoding, true, true, false); + } + + + /** + * Constructs a String-valued Field that is not tokenized nor indexed, + * but is stored in the index, for return with hits. + * + * @param string $name + * @param string $value + * @param string $encoding + * @return Zend_Search_Lucene_Field + */ + public static function unIndexed($name, $value, $encoding = '') + { + return new self($name, $value, $encoding, true, false, false); + } + + + /** + * Constructs a Binary String valued Field that is not tokenized nor indexed, + * but is stored in the index, for return with hits. + * + * @param string $name + * @param string $value + * @param string $encoding + * @return Zend_Search_Lucene_Field + */ + public static function binary($name, $value) + { + return new self($name, $value, '', true, false, false, true); + } + + /** + * Constructs a String-valued Field that is tokenized and indexed, + * and is stored in the index, for return with hits. Useful for short text + * fields, like "title" or "subject". Term vector will not be stored for this field. + * + * @param string $name + * @param string $value + * @param string $encoding + * @return Zend_Search_Lucene_Field + */ + public static function text($name, $value, $encoding = '') + { + return new self($name, $value, $encoding, true, true, true); + } + + + /** + * Constructs a String-valued Field that is tokenized and indexed, + * but that is not stored in the index. + * + * @param string $name + * @param string $value + * @param string $encoding + * @return Zend_Search_Lucene_Field + */ + public static function unStored($name, $value, $encoding = '') + { + return new self($name, $value, $encoding, false, true, true); + } + + /** + * Get field value in UTF-8 encoding + * + * @return string + */ + public function getUtf8Value() + { + if (strcasecmp($this->encoding, 'utf8' ) == 0 || + strcasecmp($this->encoding, 'utf-8') == 0 ) { + return $this->value; + } else { + + return (PHP_OS != 'AIX') ? iconv($this->encoding, 'UTF-8', $this->value) : iconv('ISO8859-1', 'UTF-8', $this->value); + } + } +} +