所以基本上我試圖分析儀添加到我的草堆後端Elasticsearch和到目前爲止,我還沒有運氣。Django的草堆+ ElasticSearch儀
我想查詢像這樣3/09.0TBOBR.C1
,我也得到很多的錯誤。有人告訴我分析是解決我的問題,所以我嘗試使用keyword
分析
我想是這樣的:
class ConfigurableElasticBackend(ElasticsearchSearchBackend):
DEFAULT_ANALYZER = "keyword"
,我也試過這樣在我的設置文件:
ELASTICSEARCH_DEFAULT_ANALYZER = "keyword"
我做了重建索引更改後
我的錯誤消息是:
Failed to query Elasticsearch using '(3/09.0TBOBR.C1)':
Non-OK response returned (400):
u'SearchPhaseExecutionException[Failed to execute phase [query], all shards failed;
shardFailures {[oh93DYn1QTyVWmAnDMyKdQ][haystack][4]:
SearchParseException[[haystack][4]: from[-1],size[-1]:
Parse Failure [Failed to parse source [{
"sort": [{
"score": {"order": "asc", "ignore_unmapped": true, "missing": "_last"}
}],
"query": {"filtered": {"filter": {"fquery": {"query": {"query_string": {"query": "django_ct:(caselaw.process)"}}, "_cache": true}}, "query": {"query_string": {"query": "(3/09.0TBOBR.C1)", "default_operator": "AND", "default_field": "text", "auto_generate_phrase_queries": true, "analyze_wildcard": true}}}
}, "from": 0, "size": 20}]]];
nested:
QueryParsingException[[haystack]
Failed to parse query [(3/09.0TBOBR.C1)]];
nested:
ParseException[Cannot parse \'(3/09.0TBOBR.C1)\':
Lexical error at line 1, column 17.
Encountered: <EOF> after : "/09.0TBOBR.C1)"];
nested:
TokenMgrError[Lexical error at line 1, column 17.
Encountered: <EOF> after : "/09.0TBOBR.C1)"]; }{[oh93DYn1QTyVWmAnDMyKdQ][haystack][0]:
SearchParseException[[haystack][0]: from[-1],size[-1]:
Parse Failure [Failed to parse source [{"sort": [{"score": {"order": "asc", "ignore_unmapped": true, "missing": "_last"}}], "query": {"filtered": {"filter": {"fquery": {"query": {"query_string": {"query": "django_ct:(caselaw.process)"}}, "_cache": true}}, "query": {"query_string": {"query": "(3/09.0TBOBR.C1)", "default_operator": "AND", "default_field": "text", "auto_generate_phrase_queries": true, "analyze_wildcard": true}}}}, "from": 0, "size": 20}]]];
nested:
QueryParsingException[[haystack] Failed to parse query [(3/09.0TBOBR.C1)]];
nested:
ParseException[Cannot parse \'(3/09.0TBOBR.C1)\':
Lexical error at line 1, column 17. Encountered: <EOF> after : "/09.0TBOBR.C1)"];
nested:
TokenMgrError[Lexical error at line 1, column 17. Encountered: <EOF> after : "/09.0TBOBR.C1)"]; }{[oh93DYn1QTyVWmAnDMyKdQ][haystack][1]: SearchParseException[[haystack][1]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"sort": [{"score": {"order": "asc", "ignore_unmapped": true, "missing": "_last"}}], "query": {"filtered": {"filter": {"fquery": {"query": {"query_string": {"query": "django_ct:(caselaw.process)"}}, "_cache": true}}, "query": {"query_string": {"query": "(3/09.0TBOBR.C1)", "default_operator": "AND", "default_field": "text", "auto_generate_phrase_queries": true, "analyze_wildcard": true}}}}, "from": 0, "size": 20}]]]; nested: QueryParsingException[[haystack] Failed to parse query [(3/09.0TBOBR.C1)]]; nested: ParseException[Cannot parse \'(3/09.0TBOBR.C1)\': Lexical error at line 1, column 17. Encountered: <EOF> after : "/09.0TBOBR.C1)"]; nested: TokenMgrError[Lexical error at line 1, column 17. Encountered: <EOF> after : "/09.0TBOBR.C1)"]; }{[oh93DYn1QTyVWmAnDMyKdQ][haystack][2]: SearchParseException[[haystack][2]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"sort": [{"score": {"order": "asc", "ignore_unmapped": true, "missing": "_last"}}], "query": {"filtered": {"filter": {"fquery": {"query": {"query_string": {"query": "django_ct:(caselaw.process)"}}, "_cache": true}}, "query": {"query_string": {"query": "(3/09.0TBOBR.C1)", "default_operator": "AND", "default_field": "text", "auto_generate_phrase_queries": true, "analyze_wildcard": true}}}}, "from": 0, "size": 20}]]]; nested: QueryParsingException[[haystack] Failed to parse query [(3/09.0TBOBR.C1)]]; nested: ParseException[Cannot parse \'(3/09.0TBOBR.C1)\': Lexical error at line 1, column 17. Encountered: <EOF> after : "/09.0TBOBR.C1)"]; nested: TokenMgrError[Lexical error at line 1, column 17. Encountered: <EOF> after : "/09.0TBOBR.C1)"]; }{[oh93DYn1QTyVWmAnDMyKdQ][haystack][3]: SearchParseException[[haystack][3]: from[-1],size[-1]: Parse Failure [Failed to parse source [{"sort": [{"score": {"order": "asc", "ignore_unmapped": true, "missing": "_last"}}], "query": {"filtered": {"filter": {"fquery": {"query": {"query_string": {"query": "django_ct:(caselaw.process)"}}, "_cache": true}}, "query": {"query_string": {"query": "(3/09.0TBOBR.C1)", "default_operator": "AND", "default_field": "text", "auto_generate_phrase_queries": true, "analyze_wildcard": true}}}}, "from": 0, "size": 20}]]]; nested: QueryParsingException[[haystack] Failed to parse query [(3/09.0TBOBR.C1)]]; nested: ParseException[Cannot parse \'(3/09.0TBOBR.C1)\': Lexical error at line 1, column 17. Encountered: <EOF> after : "/09.0TBOBR.C1)"]; nested: TokenMgrError[Lexical error at line 1, column 17. Encountered: <EOF> after : "/09.0TBOBR.C1)"]; }]'
我到底做錯了什麼?感謝
可以肯定的是:在更改分析儀之後,應該在任何可見變化之前重新索引對象。是你做的嗎? – Bjorn 2014-09-28 19:55:21
哦不,我沒有...現在試試 – psychok7 2014-09-28 19:59:24
@Bjorn應該在我的設置文件中使用像這樣ELASTICSEARCH_DEFAULT_ANALYZER =「keyword」? – psychok7 2014-09-28 20:01:48