我最近开始探索搜索世界,并尝试使用 ES 作为我的 MongoDB 的索引。我已经成功地集成了它们,但我发现搜索 API 相当复杂和令人困惑。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();
"name":"testname"
我在查找using时没有问题.setQuery(termQuery("name", "testname"))
,但"name":"this is a test name"
不适用于上面的示例。我究竟做错了什么?