我在其中具有日期類型的特性的指數型。我需要在我的query_string中搜索這個日期。日期類型的屬性總是
所以這是該類型的映射。
.......
.......
"created": {
"type": "date",
"format": "yyyy-MM-dd'"'T'"'HH:mm:ss.SSSZ"
},
.......
.......
並且查詢
"query_string": {
"fields": [...... "created", .....],
"query": query
}
現在假設查詢有沒有日期,用戶搜索任何東西。它仍然試圖用日期類型解析每個字符串並給出錯誤。 我試圖讓像ISO日期或日期正常,但每次它給錯誤,它不能解析的查詢。
我搜索 「找到ABCD」。它應該返回什麼地方。因爲在其他房產中有abcd的記錄。但它給這個錯誤
Caused by: org.elasticsearch.ElasticsearchParseException: failed to parse date field [find], tried both date format [yyyy-MM-dd'T'HH:mm:ss.SSSZ], and timestamp number
我已經給ISO日期2015-06-08T06:22:09.540Z和得到這個錯誤
Caused by: org.apache.lucene.queryparser.classic.ParseException: Cannot parse '2015-06-08T06:22:09.540Z': Encountered " ":" ": "" at line 1, column 16.
Was expecting one of:
<EOF>
<AND> ...
<OR> ...
<NOT> ...
"+" ...
"-" ...
<BAREOPER> ...
"(" ...
"*" ...
"^" ...
<QUOTED> ...
<TERM> ...
<FUZZY_SLOP> ...
<PREFIXTERM> ...
<WILDTERM> ...
<REGEXPTERM> ...
"[" ...
"{" ...
<NUMBER> ...
at org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:132)
at org.apache.lucene.queryparser.classic.MapperQueryParser.parse(MapperQueryParser.java:887)
at org.elasticsearch.index.query.QueryStringQueryParser.parse(QueryStringQueryParser.java:233)
... 15 more
但是,當我不包括日期在query_string的字段中輸入字段,然後一切正常。 我現在應該做些什麼來解決這個問題? 我沒有找到任何計算器相關的問題和Elasticsearch權威指南。請幫幫我。
它會在情況下解決當用戶將不會按日期搜索,但按日期搜索,則不會給予任何的結果是沒可能 –
這又是一個。?問題。也許你正在尋找一些不匹配的東西,或者你認爲它應該匹配。 –
不,我給了一個有一些記錄返回的日期,但沒有給任何東西,我已經通過給ISO日期正常日期一切搜索。在這種情況下,解析失敗再次顯示 –