2016-06-30 7 views
0

это мой первый раз, чтобы использовать elasticsearch Grails plugin в моем Grails2.5.1 приложения, когда я пытаюсь искать age=35 с помощью elasticSearchService.search("${age:35}").searchResults или с помощью domainName.search("${age:35}").searchResultssearchresults пусто, хотя есть запись в возрасте БД равен 35 , И есть ли полезный учебник по использованию ElasticSearch с Grails.ElasticSearch Grails плагин

здесь мой домен:

class EmploymentSeeker { 
String empType 
String email 
String fullName 
String expYears 
String socialStatus 
    Integer nubOfKids =0 
    String computerKnowledge 
    String militaryStatus 
    String haveDrivingLic 
String gender 
String eduQualification 
String hasVehicle 
String placeOfStudying 
String courses 
String currentTitle 
String currentEmployerName 
Integer age 
Date dateCreated 


static searchable = { 
age boost:2.0 
root true 
except = ['email', 'fullName', 'placeOfStudying', 'currentTitle', 'currentEmployerName', 'dateCreated'] 
} 

static constraints = { 

} 
static mapping={ 

} 

} 

ответ

0

Похоже, у вас есть плут «$» в строке запроса. Это, вероятно, должно быть:

elasticSearchService.search («возраст: 35»)

$ {..} нужен только если вы передаете в запросе и хотите Groovy заменить выражение перед вызовом ElasticSearchService.

+0

Я сделал это, как вы упомянули, но все тот же результат. – Sherif

+0

Хорошо, тогда без большой информации трудно сказать, что случилось. Вы уверены, что данные индексируются? Я лично не использовал плагин Grails - мы выкатили собственный клиент на основе Elasticsearch java api, главным образом из-за отсутствия документации, о которой вы говорили. Однако вы должны иметь возможность напрямую запрашивать elasticsearch, чтобы узнать, индексируются ли объекты. https://github.com/mobz/elasticearch-head поможет в этом отношении. – BhathiyaW

+0

Какие данные необходимо выяснить, что не так? – Sherif

Смежные вопросы