2016-08-17 2 views
0

아래는 내 DB 데이터입니다.탄성 검색 제안 조건 확인

에 따라대로 가져 내 elasticsearch 누군 elasticsearch 질의에 "사실"(즉, 개인 제기하지 않고 JSON 객체 포함) :

{ 
"_id" : ObjectId("572c957244ae959c6517bcb2"), 
"name":"first", 
"rating" : 2.0, 
"private" : "true" 
} 
{ 
"_id" : ObjectId("572c957244ss959c6517bcb2"), 
"name":"first", 
"rating" : 2.0, 
"private" : "false" 
} 
{ 
"_id" : ObjectId("572c9dfef44ae959c6517bcb2"), 
"name":"first", 
"rating" : 2.0, 
"private" : "false" 
} 
{ 
"_id" : ObjectId("572c9dfef44ae959c6517bcb2"), 
"name":"first", 
"rating" : 2.0, 
} 
나는 "개인"이외 얻을 필요

내가 개인 "허위"와 그 필드없이 이름을 알아야하는 이유.

답변

1

어쩌면 당신이 시도 할 수 :

curl -XGET 'localhost:9200/tellofy/_suggest?pretty' -d ' 
{ 
    "brand-suggest": { 
     "completion": { 
     "field": "nameSuggest", 
     "size": "5", 
     "context": { 
      "private": "false" 
     } 
     }, 
     "text": "first" 
    } 
}' 

을 당신이 또한 매핑에서 민간 필드에 대한 기본값 "false"로 설정해야합니다 생각 :

curl -X PUT "http://localhost:9200/tellofy/test/_mapping" -d' 
{ 
    "test": { 
     "properties": { 
     "name": { 
      "type": "string" 
     }, 
     "rating": { 
      "type": "float" 
     }, 
     "private": { 
      "type": "boolean" 
     }, 
     "nameSuggest": { 
      "type": "completion", 
      "context": { 
       "private": { 
        "type": "category", 
        "path": "private", 
        "default": false 
       } 
      } 
     } 
     } 
    } 
}' 

헤이븐 하지만 탄성 검색에서 컨텍스트 suggesters 자신을 사용하지 마십시오. 자세한 내용은 Elasticsearch Context Suggester documentation을 참조하십시오. 내가 "ElasticsearchIllegalArgumentException [SUGGESTER [완료] 어떤 컨텍스트를 기대하지 않는다] 중첩;"_suggest이 URL에 _search의 insted 넣을 때 오류 다음 던졌습니다 그 위에 시도 Elasticsearch context suggester, bool on contexts

+0

하이 네만 :

또한이 질문을 참조 . "오류"발생했습니다 : "SearchPhaseExecutionException [단계 [쿼리]를 실행하지 못했습니다. 모든 샤드가 실패했습니다. ..... – venkat

+0

위 설명 오류에 대한 해결 방법을 제공 할 수 있습니까? – venkat

+0

어떤 종류의 elasticsearch를 사용합니까? – Neman