1

是否可以为某些关键字字段设置永久奖励?我有产品名称字段、id 关键字字段和优先关键字字段。我想设置结果的相关性,例如搜索的相关性+结果的优先级。

 //id of product
  $doc->addField(Zend_Search_Lucene_Field::Keyword('pk', $this->getId(), "utf-8"));

  //i want set permanent revelance bonus on that field
  $doc->addField(Zend_Search_Lucene_Field::Keyword('priotity', "priority", "utf-8"));

  //field for search
  $doc->addField(Zend_Search_Lucene_Field::UnStored('description', $this->getDescription(), "utf-8"));

例如,我搜索苹果 iphone,结果必须是:最大重合最大优先级、最大重合下一个优先级、最大重合下一个优先级

4

1 回答 1

2

是的,可以在评分的情况下为某个字段设置永久奖励。

这是教程

我不确定这个 zend Lucene,但是Field.setBoost()方法是我们在普通 Lucene 中所做的。我确信使用 zend Lucene 必须有一种等效的方法,因为这是一个基本功能。

以下是上述教程的片段。

    $field = Zend_Search_Lucene_Field::Text('firstname', $this->getFirstname());
    $field->boost = 1.5;

我不能保证上述代码段的有效性,但我希望它对你有所帮助。

于 2013-03-23T22:37:02.053 回答