簡體   English   中英

搜索返回的結果不相關

[英]Search returns too irrelevant results

我正在嘗試使用ONGRFilterManagerBundle獲得全文搜索。 一切都已配置並添加到項目中,但是當我對某些數據進行搜索時,我發現搜索返回的結果完全不相關。

這是我的配置:

ongr_elasticsearch:
  managers:
    default:
      index:
        hosts:
        - "%env(ELASTIC_HOST)%:%env(ELASTIC_PORT)%"
        index_name: project_search
      mappings:
      - SearchBundle

ongr_filter_manager:
  managers:
    search_list:
      filters:
      - content
      - pagination
      repository: es.manager.default.typed_content
  filters:
    content:
      type: match
      request_field: text
      document_field: content
    pagination:
      type: pager
      request_field: page
      document_field: ~
      options:
        count_per_page: 12
        max_pages: 8

這是我的文件

namespace SearchBundle\Document;

use ONGR\ElasticsearchBundle\Annotation as ES;

/**
 * @ES\Document()
 */
class TypedContent implements DocumentInterface
{
    /**
     * @ES\Id()
     * @var string
     */
    private $id;

    /**
     * @ES\Property(type="text")
     * @var string
     */
    private $content;

    /**
     * @ES\Property(type="text")
     * @var string
     */
    private $type;

    /**
     * @var mixed
     */
    private $dataObject;

    /**
     * @return mixed
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * @param mixed $id
     */
    public function setId($id): void
    {
        $this->id = $id;
    }

    /**
     * @return mixed
     */
    public function getContent()
    {
        return $this->content;
    }

    /**
     * @param mixed $content
     */
    public function setContent($content): void
    {
        $this->content = $content;
    }

    /**
     * @return string
     */
    public function getType(): string
    {
        return $this->type;
    }

    /**
     * @param string $type
     */
    public function setType(string $type): void
    {
        $this->type = $type;
    }

    /**
     * @return mixed
     */
    public function getDataObject()
    {
        return $this->dataObject;
    }

    /**
     * @param mixed $dataObject
     */
    public function setDataObject($dataObject): void
    {
        $this->dataObject = $dataObject;
    }
}

當我搜索例如字olive我會得到我的所有文件的一個結果,雖然他們都沒有包含一個詞是遠程類似“橄欖型”和分數“1”上的每個結果。

誰能發現我的錯誤?

我現在知道了問題所在。 我正在使用Symfony表單提交搜索詞。 在這種情況下,該字段的名稱為search[text]但Manager希望該字段為name text 因此,自然地,搜索將根本不會考慮搜索項。 我將需要更改表單以為字段命名為text而不是search[text]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM