2014-04-11 36 views
0

我已經在symfony2上安裝了elasticsearch集成。Symfony2應用程序/控制檯錯誤:無法識別的選項「原則」

我下面這個教程:http://richardmiller.co.uk/2011/11/11/symfony2-integrating-elasticsearch/

當我運行此命令:

php app/console fos:elastica:populate 

我得到這個錯誤:

[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException] 
Unrecognized options "doctrine" 
under "fos_elastica.indexes.bookmarks.types.site" 

這個錯誤是什麼意思?如何解決它?

+0

什麼是你的數據庫在Symonfy ORM?你在使用Doctrine還是MongoDB? – Javad

+0

作爲博客,它在你的映射下使用orm和doctrine方法 – B33th0v3n

+0

是否定義了任何'driver:orm'?你能把你的映射放在這裏嗎? – Javad

回答

0

我相信你會得到這個錯誤,因爲你在FOS彈性搜索設置中指定了一個無法識別的選項「原則」。

您的設置應類似於以下內容:

fos_elastica: 
    indexes: 
     bookmarks: 
      types: 
       site: 
        mappings: 
         ... 
        persistence: 
         ... 
        _parent: 
         ... 

        doctrine <-- if you have this option on this level, it shouldn't be. 

https://github.com/FriendsOfSymfony/FOSElasticaBundle/blob/master/Resources/doc/types.md

+0

是的,但i'was認爲它ü se在彈性搜索數據庫中推送數據的原則。由於這個原因,應該使用具有「use」原則的實體orm。正如博客所說...... – B33th0v3n

+0

一時間! 我認爲it'my錯誤,這不是一個博客錯誤....有一個真正的FOQElasticsearch包,我已經安裝了FOSelasticsearchBundle ...我認爲FOQ作出了一個學說的解釋。現在我安裝它,然後嘗試。 – B33th0v3n

+0

您應該使用FOSElasticaBundle而不是FOQElasticaBundle,因爲FOQElasticaBundle現在已移至FOSElasticaBundle。 –

1

這是因爲 「主義」 不再被認可。 您現在應該使用「持久性」來代替。

相關問題