Szukałem działającego rozwiązania, aby uzyskać autouzupełnianie/typeahead z angularjs & bootstrap na serwerze elasticsearch.autocomplete/typeahead angularjs bootstrap na elasticsearch
Odpowiedz
Jest to roztwór roboczy, a nie pytanie, ale chcę podzielić to mieć nadzieję, że to pomoże:
kod html do wywołania funkcji autouzupełniania:
<input required type="text"
popover-trigger="focus"
placeholder="recherche globale"
class="form-control"
ng-model="simplequeryInput"
ng-model-onblur focus-on="focusMe"
ng-click="searchSimple=true" ng-keyup="$event.keyCode == 13 ? submitSimple() : null"
typeahead="item for item in autocomplete($viewValue) | limitTo:15 "
typeahead-on-select="simplequeryInput=$model"
/>
obejmować elasticsearch (v2.4.0) skrypt dostępny here
mój serwis elasticsearch
interfaceApp.service('elasticQuery', function ($rootScope,esFactory) { return esFactory({ host: $rootScope.elastic_host}); //'localhost:9200' });
angularjs kod zapytań elasticsearch:
'use strict'; var searchModules = angular.module('searchModules', ['ngRoute','ngDialog']); searchModules.controller('searchCtrl', function (ngDialog,$scope, $http,$rootScope, elasticQuery) { ... $scope.autocomplete = function(val) { var keywords = []; keywords.push(val); // THIS RETURN IS VERY IMPORTANT return elasticQuery.search({ index: 'YOUR_INDEX_NAME', size: 15, body: { "fields" : ["T_FAMILY","T_GENUS","T_SCIENTIFICNAME"], // the fields you need "query" : { "bool" : { "must" : [ { "query_string" : { "query" : "T_FAMILY:"+val // i want only source where FAMILY == val } } ] } } } }).then(function (response) { for (var i in response.hits.hits) { var fields = (response.hits.hits[i]).fields; var tmpObject = fields["T_FAMILY"] +" " + fields["T_GENUS"] + " ("+fields["T_SCIENTIFICNAME"] + ")"; keywords.push(tmpObject); } return keywords; }); } });
nadzieję, że pomoże
Czy masz ochotę opublikować kod html/js dla próbki? – techcraver
mi powiedzieć, co było trzeba – AlainIb
Dobrze znalazłem drogę do pracy to z dokumentacji kątowe-ui dostępna pod adresem: https://angular-ui.github.io/bootstrap/ Ale kod fragment dał mi pomysł jak wyodrębnić dane z json. Głosujcie za to. – techcraver
- 1. Zakładki Bootstrap z AngularJS
- 2. Angularjs bootstrap tabulator tab
- 3. AngularJS + Bootstrap zapamięta aktywną kartę
- 4. AngularJS bootstrap popover custom dyrektywa
- 5. angularjs Bootstrap radiowy przycisk grupa
- 6. Pasek nawigacyjny Bootstrap z angularjs
- 7. Korzystanie Bootstrap-select z angularjs
- 8. Wyświetlanie dynamicznych danych z AngularJS na Twitter Bootstrap Popover
- 9. angularjs i Bootstrap: czerwony granica na polu wprowadzania nieważny złożyć
- 10. twitter bootstrap popover nie działa z angularjs
- 11. AngularJS bootstrap ui - jak zmienić style CSS?
- 12. Jak usunąć ui datepicker bootstrap stopkę angularjs
- 13. Angularjs bootstrap datepicker: Wybierz wiele dat
- 14. Korzystanie bootstrap-datetime kompletacji z angularjs
- 15. Zamknięcie wszystkich otwartych modów Bootstrap w AngularJS?
- 16. Instalowanie ElasticSearch na Ubuntu 12.04
- 17. ElasticSearch: Równoważny operator w ElasticSearch
- 18. wiążąca data w angularjs wykorzystujących WebAPI oraz datę bootstrap kompletacji
- 19. Rozmiary reagujące na bootstrap
- 20. jqGrid na Twitter Bootstrap
- 21. Zintegruj Bootstrap na CodeIgniter
- 22. Link na bootstrap glyphicon
- 23. Skalowanie ElasticSearch
- 24. Pole wprowadzania Bootstrap w rozwijanym menu z AngularJS
- 25. Jak korzystać z AngularJS ng-repeat z rusztowaniem Twitter Bootstrap?
- 26. Ograniczenia ElasticSearch
- 27. Elasticsearch szyny/Elasticsearch Modelarski wyszukiwania stowarzyszenie
- 28. ElasticSearch (search_context_missing_exception) z wyszukiwaniem :: ElasticSearch :: Scroll
- 29. Elasticsearch _timestamp
- 30. Osadź aplikację angularjs w innej aplikacji angularjs
nie byłoby lepiej, jeśli podzielić to pytanie Pytanie + odpowiedź? –
Rozdzielam to w pytaniu/Odpowiedź;) – AlainIb