2009-10-15 55 views
3

我想知道Zend Lucene是否支持多值字段。我试着将一个数组传递给一个字段,并且它在索引过程中不会给出任何错误。但是,当我搜索时它没有返回任何结果。任何帮助表示赞赏。Zend Lucene是否支持MultiValued Fields?

回答

3

它并不:

字段总是存储和从以UTF-8编码的索引返回。 任何所需的转换为UTF-8自动发生。

我会认为UTF-8编码数组将不起作用,除非有一些递归发生在那里。你可以用“,”或某物加入数组,或者序列化或json_encode数组。如果您将它用作搜索索引,但可能无法正常工作。如果您需要存储像图像之类的更复杂的东西,也可以使用二进制字段类型。

0

实际上,如果您添加空格分隔的文本字段,它们将存储为多个字段,这在Luke中得到了确认。

$doc->addField(Zend_Search_Lucene_Field :: Text($fieldName, implode(' ', $fieldValue))); 

唯一的问题是,由于它们被标记化,因此值较低。