2016-10-11 6 views
1

からHello I`m FosElasticaBundleを使用してこのクエリを使用しようとすると、I のような一般的な単語をフィルタリングするための使用例が見つかりません(と、または)可能であれば、この単語をハイライト表示しないことも可能です。これまでの私の闘争:事前にFos Elastica検索クエリ

$searchForm = $this->createForm(SearchFormType::class, null); 
    $searchForm->handleRequest($request); 

    $matchQuery = new \Elastica\Query\Match(); 
    $matchQuery->setField('_all', $queryString); 

    $searchQuery = new \Elastica\Query(); 
    $searchQuery->setQuery($matchQuery); 
    $searchQuery->setHighlight(array(
     "fields" => array(
      "title" => new \stdClass(), 
      "content" => new \stdClass() 
     ), 
     'pre_tags' => [ 
      '<strong>' 
     ], 
     'post_tags' => [ 
      '</strong>' 
     ], 
     'number_of_fragments' => [ 
      '0' 
     ] 
    )); 

感謝;)

答えて

0

がしたい(および、またはでください)は無視するか、検索の価値を持っていませんか? それはあなたがあなたのelasticsearchインデックスにストップワードを使用することをお勧めしますケースだ場合。 ここに参考文献があります。 https://www.elastic.co/guide/en/elasticsearch/guide/current/using-stopwords.html

+0

うんは、これを実現することを唯一のものはストップワードをハイライト表示されませんでした。..設定でストップワードを有効にし、ことを試みました。 – Filchev

+0

一般的な用語のクエリを使用してみましたか? – Anthony

+0

foselasticabundle例は、それらが提供するオブジェクトを使用する方法が完全にわからないちょっと非存在していません:/ – Filchev