Korzystam z interfejsu API wyszukiwania, a teraz muszę dodać completion suggester, używam klejnotu elasticsearch-rails.szyny - sugestia uzupełnienia Elasticsearch i interfejs API wyszukiwania
Kiedy szukać artykułu, wszystko działa http://localhost:9200/articles/_search
"query": {
"multi_match": {
"query": "test",
"fields": [
"title", "tags", "content"
]
}
}
}
Ale odkąd wprowadziła zausznika zakończenia musiałem edytować as_indexed_json
aby to działało, ale teraz Search API nie działa już więcej, tylko sugestie.
Oto mój model artykułu:
def self.search(query)
__elasticsearch__.search(
{
query: {
multi_match: {
query: query,
fields: ['title', 'content', 'tags']
}
}
})
end
def self.suggest(query)
Article.__elasticsearch__.client.suggest(:index => Article.index_name, :body => {
:suggestions => {
:text => query,
:completion => {
:field => 'suggest'
}
}
})
end
def as_indexed_json(options={})
{
:name => self.title,
:suggest => {
:input => self.title,
:output => self.title,
:payload => {
:content => self.content,
:tags => self.tags,
:title => self.title
}
}
}.as_json
end
Czy to możliwe, aby mieć _search i _suggest pracuje razem z tego samego modelu?
Jak wygląda twoje mapowanie? – Tobi