Niedawno zacząłem badać świat wyszukiwań i próbuję użyć ES jako indeksu dla mojego MongoDB. Udało mi się je z powodzeniem zintegrować, ale uważam, że interfejs API wyszukiwania jest dość skomplikowany i mylący. Interfejs API Java też nie jest zbyt pomocny. Jestem w stanie znaleźć dokładne dopasowania, ale jak mogę wyszukiwać pełnotekstowe? Tu jest mój kodu:ElasticSearch wyszukiwanie pełnotekstowe za pomocą Java API
Settings settings = ImmutableSettings.settingsBuilder()
.put("cluster.name", "elasticsearch").build();
Client client = new TransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress("host-ip", 9300));
SearchResponse response = client.prepareSearch("mongoindex")
.setSearchType(SearchType.QUERY_AND_FETCH)
.setQuery(termQuery("name", "*name*"))
.setFrom(0).setSize(60).setExplain(true)
.execute()
.actionGet();
mam żadnych problemów ze znalezieniem "name":"testname"
użyciu .setQuery(termQuery("name", "testname"))
, ale "name":"this is a test name"
nie działa w powyższym przykładzie. Co ja robię źle?
to tylko baza danych, które używam. –