【发布时间】:2015-09-07 12:45:56
【问题描述】:
我正在使用 Elasticsearch Java API 创建索引并编写搜索查询。 索引是在各种字段上创建的。其中一个字段是在其上创建索引的数字(整数)。
现在我们得到的输入是字符串形式的。我们必须在所有字段中搜索提供的输入。要搜索我们正在使用的数字字段
QueryBuilders.rangeQuery() method.
但是当它在“to”或“from”字段中遇到任何非整数值时,它会抛出
SearchPhaseExecutionException[Failed to execute phase [query].
nested: NumberFormatException[For input string: \"30y\"]
我怎样才能避免这种情况?我们没有得到任何搜索结果很好,但我想避免这个异常,因为可能会有我们得到非整数输入的情况。
另一种选择是检查所有输入标记,我想避免这种情况,因为它会添加另一个级别的检查,这会影响性能。
我有什么方法可以使用 elasticsearch API 完成此任务吗?
【问题讨论】:
标签: elasticsearch lucene