2012-01-05 11 views
1

私はタイヤとelasticsearchを使用しています。debugging elasticsearch

"org.elasticsearch.search.SearchParseException: [countries][0]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"query":{"query_string":{"query":"name:"}}}]]" 

"Caused by: org.apache.lucene.queryParser.ParseException: Cannot parse 'name:': Encountered "<EOF>" at line 1, column 5." 

だから、私はelasticsearchおよびサービスコンテナを再インストールします。サービスは、それが2つのエラーを返していました。しかし、ポート9200を使用して開始しました。サービスは正常に開始されます。私はタイヤを使用して検索したときの結果は、私が 任意のエラーメッセージが表示されていない を表示されますとき

は今、私は結果を得ることはありません。

誰が何が間違っているかを知る方法はありますか?

+0

再インストール後にデータの再インデックスを作成しましたか? – skaffman

+0

nope :)ありがとう! –

答えて

11

最初にの場合、通常は再インデックスする必要はありません。それはelasticsearchをどのようにインストールして設定したかによって異なりますが、たとえば、インストールしてアップグレードするときは同じです。 Homebrewでは、データは安全に保持されます。

次に、を再インストールする必要はありません。あなたが見ているエラーは、それがスズについて言うことを意味します:SearchParseException、すなわち。あなたのクエリは無効です:

{"query":{"query_string":{"query":"name:"}}} 

名前修飾子にはクエリ文字列を渡していないことに注意してください。 Rubyの面で

{"query":{"query_string":{"query":"name:foo"}}} 

または、::

Tire.index('test') { query { string "name:hey" } } 

が間違っLuceneのクエリに起因するエラーをキャッチする方法例えばthis update to the Railscasts episode on Tireを参照してくださいあなたは、何かを渡すなどがあります。

関連する問題