所以我終于設置了elasticsearch數據庫并將數據導入其中。有時當我嘗試從前端請求數據時,我會收到 500 錯誤(不是一直,只是有時)。我試圖從 POSTMAN 請求數據(以查看 ES 錯誤消息)。我有:{ "error": "SearchPhaseExecutionException[Failed to execute phase [query], all shards failed; shardFailures {[9m4uVcf3TLmQ9Kr7z_fSpQ][text][0]: QueryPhaseExecutionException[[text][0]: query[filtered(function score (blended(terms: [url_words:test, domain_words:test, title:test, body:test]), functions: [{filter(*:*), function [org.elasticsearch.common.lucene.search.function.FieldValueFactorFunction@56319fc9]}{filter(*:*), function [org.elasticsearch.common.lucene.search.function.FieldValueFactorFunction@60b46f02]}]))->cache(_type:page)],from[0],size[25]: Query Failed [Failed to execute main query]]; nested: ElasticsearchException[Missing value for field [lang_en]]; }{[9m4uVcf3TLmQ9Kr7z_fSpQ][text][1]: QueryPhaseExecutionException[[text][1]: query[filtered(function score (blended(terms: [url_words:test, domain_words:test, title:test, body:test]), functions: [{filter(*:*), function [org.elasticsearch.common.lucene.search.function.FieldValueFactorFunction@3ca7d41e]}{filter(*:*), function "status": 500}這是請求正文:{ "query": { "function_score": { "query": { "multi_match": { "query": "test", "minimum_should_match": "-25%", "type": "cross_fields", "tie_breaker": 0.5, "fields": ["title^3", "body", "url_words^2", "domain_words^8"] } }, "functions": [{ "field_value_factor": { "field": "rank", "factor": 1 } },{ "field_value_factor": { "field": "lang_en" } }] } }, "from": 0, "size": 25 }我知道字段 [lang_en] 的缺失值是問題所在。我用谷歌結果玩弄了 es,但沒有成功。ES 版本:1.5.2有任何想法嗎 ?
2 回答
- 2 回答
- 0 關注
- 310 瀏覽
添加回答
舉報
0/150
提交
取消