【问题标题】:debugging elasticsearch调试弹性搜索
【发布时间】:2012-02-03 11:44:06
【问题描述】:

我正在使用轮胎和弹性搜索。该服务已开始使用端口 9200。但是,它返回 2 个错误:

"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 和服务容器。服务启动正常。

现在,当我使用轮胎进行搜索时,当结果应该出现时却没有得到任何结果并且我没有收到任何错误消息。

有人知道我如何找出问题所在,更不用说修复了吗?

【问题讨论】:

  • 重新安装后是否重新索引数据?

标签: elasticsearch


【解决方案1】:

首先,在通常情况下,您不需要重新索引任何内容。这取决于您如何安装和配置 elasticsearch,但是当您安装和升级时,例如。使用Homebrew,数据被安全持久化。

其次,无需重新安装任何东西。您看到的错误意味着它在锡上所说的内容:SearchParseException,即。您的查询无效:

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

请注意,您没有为名称限定符传递任何查询字符串。你必须传递一些东西,例如:

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

或者,用 Ruby 术语来说:

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

请参阅this update to the Railscasts episode on Tire,了解如何捕获由于不正确的 Lucene 查询而导致的错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 2018-06-08
    相关资源
    最近更新 更多