• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java CompletionSuggestionBuilder类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder的典型用法代码示例。如果您正苦于以下问题:Java CompletionSuggestionBuilder类的具体用法?Java CompletionSuggestionBuilder怎么用?Java CompletionSuggestionBuilder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CompletionSuggestionBuilder类属于org.elasticsearch.search.suggest.completion包,在下文中一共展示了CompletionSuggestionBuilder类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: testRegex

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testRegex() throws Exception {
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder();
    createIndexAndMapping(mapping);
    int numDocs = 10;
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 1; i <= numDocs; i++) {
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(jsonBuilder()
                                .startObject()
                                .startObject(FIELD)
                                .field("input", "sugg" + i + "estion")
                                .field("weight", i)
                                .endObject()
                                .endObject()
                ));
    }
    indexRandom(true, indexRequestBuilders);
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).regex("sugg.*es");
    assertSuggestions("foo", prefix, "sugg10estion", "sugg9estion", "sugg8estion", "sugg7estion", "sugg6estion");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:21,代码来源:CompletionSuggestSearchIT.java


示例2: testSingleContextFiltering

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testSingleContextFiltering() throws Exception {
    CategoryContextMapping contextMapping = ContextBuilder.category("cat").field("cat").build();
    LinkedHashMap<String, ContextMapping> map = new LinkedHashMap<String, ContextMapping>(Collections.singletonMap("cat", contextMapping));
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder().context(map);
    createIndexAndMapping(mapping);
    int numDocs = 10;
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 0; i < numDocs; i++) {
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(jsonBuilder()
                                .startObject()
                                .startObject(FIELD)
                                .field("input", "suggestion" + i)
                                .field("weight", i + 1)
                                .endObject()
                                .field("cat", "cat" + i % 2)
                                .endObject()
                ));
    }
    indexRandom(true, indexRequestBuilders);
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).prefix("sugg")
            .contexts(Collections.singletonMap("cat", Collections.singletonList(CategoryQueryContext.builder().setCategory("cat0").build())));

    assertSuggestions("foo", prefix, "suggestion8", "suggestion6", "suggestion4", "suggestion2", "suggestion0");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:26,代码来源:ContextCompletionSuggestSearchIT.java


示例3: testSingleContextMultipleContexts

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testSingleContextMultipleContexts() throws Exception {
    CategoryContextMapping contextMapping = ContextBuilder.category("cat").field("cat").build();
    LinkedHashMap<String, ContextMapping> map = new LinkedHashMap<String, ContextMapping>(Collections.singletonMap("cat", contextMapping));
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder().context(map);
    createIndexAndMapping(mapping);
    int numDocs = 10;
    List<String> contexts = Arrays.asList("type1", "type2", "type3", "type4");
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 0; i < numDocs; i++) {
        XContentBuilder source = jsonBuilder()
                .startObject()
                .startObject(FIELD)
                .field("input", "suggestion" + i)
                .field("weight", i + 1)
                .endObject()
                .field("cat", contexts)
                .endObject();
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(source));
    }
    indexRandom(true, indexRequestBuilders);
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).prefix("sugg");

    assertSuggestions("foo", prefix, "suggestion9", "suggestion8", "suggestion7", "suggestion6", "suggestion5");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:26,代码来源:ContextCompletionSuggestSearchIT.java


示例4: testSimpleGeoPrefix

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testSimpleGeoPrefix() throws Exception {
    LinkedHashMap<String, ContextMapping> map = new LinkedHashMap<>();
    map.put("geo", ContextBuilder.geo("geo").build());
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder().context(map);
    createIndexAndMapping(mapping);
    int numDocs = 10;
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 0; i < numDocs; i++) {
        XContentBuilder source = jsonBuilder()
                .startObject()
                .startObject(FIELD)
                .field("input", "suggestion" + i)
                .field("weight", i + 1)
                .startObject("contexts")
                .field("geo", GeoHashUtils.stringEncode(1.2, 1.3))
                .endObject()
                .endObject().endObject();
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(source));
    }
    indexRandom(true, indexRequestBuilders);
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).prefix("sugg");
    assertSuggestions("foo", prefix, "suggestion9", "suggestion8", "suggestion7", "suggestion6", "suggestion5");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:25,代码来源:ContextCompletionSuggestSearchIT.java


示例5: suggest

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public List<String> suggest(String prefix) {
    CompletionSuggestionBuilder suggestionBuilder = new CompletionSuggestionBuilder("name_suggest")
            .prefix(prefix);

    SearchResponse response = getConnection().getClient().prepareSearch(getIndex())
            .setTypes(getType())
            .suggest(new SuggestBuilder().addSuggestion("suggestion", suggestionBuilder))
            .setSize(100)
            .setFetchSource(true)
            .setExplain(false)
            .execute()
            .actionGet();

    return response.getSuggest().filter(CompletionSuggestion.class).stream()
            .flatMap(s -> s.getOptions().stream())
            .sorted(Comparator.comparingDouble(Suggest.Suggestion.Entry.Option::getScore))
            .map(Suggest.Suggestion.Entry.Option::getText)
            .map(Text::toString)
            .collect(Collectors.toList());
}
 
开发者ID:tokenmill,项目名称:crawling-framework,代码行数:21,代码来源:EsNamedQueryOperations.java


示例6: getSuggestions

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
@Override
public List<String> getSuggestions(String partial) {
    List<String> returnList = new ArrayList<>();

    String suggestionName = "suggestion";

    CompletionSuggestionBuilder completionSuggestionBuilder = new CompletionSuggestionBuilder(suggestionName);
    SuggestResponse suggestResponse = client.prepareSuggest("wow").setSuggestText(partial).addSuggestion(completionSuggestionBuilder.field("name.suggest")).execute().actionGet();
    Suggest suggest = suggestResponse.getSuggest();
    Suggest.Suggestion suggestion = suggest.getSuggestion(suggestionName);

    List<Suggest.Suggestion.Entry> list = suggestion.getEntries();
    for(Suggest.Suggestion.Entry entry : list) {
        List<Suggest.Suggestion.Entry.Option> options = entry.getOptions();
        for(Suggest.Suggestion.Entry.Option option : options) {
            returnList.add(option.getText().toString());
        }
    }

    return returnList;
}
 
开发者ID:wendelfleming,项目名称:USC-LunchNLearn-ElasticSearch,代码行数:22,代码来源:SearchSuggestImpl.java


示例7: autocomplete

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
@Override
public List<UserActionCounter> autocomplete(String prefix,
		String indexName) {
	SearchResponse response = null;
	try {
		response = getSearchClient()
				.prepareSearch(indexName)
				.addSuggestion(
						new CompletionSuggestionBuilder("").field("code")
								.text(prefix).size(10)).execute()
				.actionGet();
	} catch (ElasticsearchException e) {
		e.printStackTrace();
	}
	List<UserActionCounter> counters = new Vector<UserActionCounter>();
	if (response != null) {
	while (response.getSuggest().iterator().hasNext()) {
		counters.add((UserActionCounter) response.getSuggest()
				.iterator().next());
	}
	}
	return counters;
}
 
开发者ID:cplutte,项目名称:bts,代码行数:24,代码来源:UserActionCounterDaoImpl.java


示例8: getSuggestions

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public List<String> getSuggestions(String field, String text, boolean checkRecordGroup) {

		CompletionSuggestionBuilder builder = new CompletionSuggestionBuilder("suggestions")
			.field(field)
			.text(text)
			.size(size);

		if (checkRecordGroup)
			builder.addCategory("recordGroupId", getAccessibleRecordGroups());
		
		SuggestResponse response = suggestRequestBuilder.addSuggestion(builder).execute().actionGet();

		List<String> suggestions = new ArrayList<String>();

		if (response != null && response.getSuggest() != null && response.getSuggest().getSuggestion("suggestions") != null 
				&& response.getSuggest().getSuggestion("suggestions").getEntries() != null && response.getSuggest().getSuggestion("suggestions").getEntries().size() > 0) {

			Iterator<? extends Suggest.Suggestion.Entry.Option> iterator = response.getSuggest().getSuggestion("suggestions").getEntries().get(0).getOptions().iterator();

			while (iterator.hasNext()) {
				suggestions.add(iterator.next().getText().toString());
			}
		}

		return suggestions;
	}
 
开发者ID:dainst,项目名称:gazetteer,代码行数:27,代码来源:ElasticSearchSuggestionQuery.java


示例9: registerSuggesters

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
private void registerSuggesters(List<SearchPlugin> plugins) {
    registerSmoothingModels(namedWriteables);

    registerSuggester(new SuggesterSpec<>("term", TermSuggestionBuilder::new, TermSuggestionBuilder::fromXContent));
    registerSuggester(new SuggesterSpec<>("phrase", PhraseSuggestionBuilder::new, PhraseSuggestionBuilder::fromXContent));
    registerSuggester(new SuggesterSpec<>("completion", CompletionSuggestionBuilder::new, CompletionSuggestionBuilder::fromXContent));

    registerFromPlugin(plugins, SearchPlugin::getSuggesters, this::registerSuggester);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:10,代码来源:SearchModule.java


示例10: testPrefix

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testPrefix() throws Exception {
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder();
    createIndexAndMapping(mapping);
    int numDocs = 10;
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 1; i <= numDocs; i++) {
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(jsonBuilder()
                                .startObject()
                                .startObject(FIELD)
                                .field("input", "suggestion" + i)
                                .field("weight", i)
                                .endObject()
                                .endObject()
                ));
    }
    indexRandom(true, indexRequestBuilders);
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).prefix("sugg");
    assertSuggestions("foo", prefix, "suggestion10", "suggestion9", "suggestion8", "suggestion7", "suggestion6");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:21,代码来源:CompletionSuggestSearchIT.java


示例11: testFuzzy

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testFuzzy() throws Exception {
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder();
    createIndexAndMapping(mapping);
    int numDocs = 10;
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 1; i <= numDocs; i++) {
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(jsonBuilder()
                                .startObject()
                                .startObject(FIELD)
                                .field("input", "sugxgestion" + i)
                                .field("weight", i)
                                .endObject()
                                .endObject()
                ));
    }
    indexRandom(true, indexRequestBuilders);
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).prefix("sugg", Fuzziness.ONE);
    assertSuggestions("foo", prefix, "sugxgestion10", "sugxgestion9", "sugxgestion8", "sugxgestion7", "sugxgestion6");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:21,代码来源:CompletionSuggestSearchIT.java


示例12: testEarlyTermination

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testEarlyTermination() throws Exception {
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder();
    createIndexAndMapping(mapping);
    int numDocs = atLeast(100);
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 0; i < numDocs; i++) {
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(jsonBuilder()
                                .startObject()
                                .startObject(FIELD)
                                .field("input", "suggestion" + (numDocs - i))
                                .field("weight", numDocs - i)
                                .endObject()
                                .endObject()
                ));
    }
    indexRandom(true, indexRequestBuilders);
    int size = randomIntBetween(3, 10);
    String[] outputs = new String[size];
    for (int i = 0; i < size; i++) {
        outputs[i] = "suggestion" + (numDocs - i);
    }
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).prefix("sug").size(size);
    assertSuggestions("foo", prefix, outputs);

    CompletionSuggestionBuilder regex = SuggestBuilders.completionSuggestion(FIELD).regex("su[g|s]g").size(size);
    assertSuggestions("foo", regex, outputs);

    CompletionSuggestionBuilder fuzzyPrefix = SuggestBuilders.completionSuggestion(FIELD).prefix("sugg", Fuzziness.ONE).size(size);
    assertSuggestions("foo", fuzzyPrefix, outputs);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:32,代码来源:CompletionSuggestSearchIT.java


示例13: testThatWeightCanBeAString

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testThatWeightCanBeAString() throws Exception {
    createIndexAndMapping(completionMappingBuilder);

    client().prepareIndex(INDEX, TYPE, "1").setSource(jsonBuilder()
                    .startObject().startObject(FIELD)
                    .startArray("input").value("testing").endArray()
                    .field("weight", "10")
                    .endObject().endObject()
    ).get();

    refresh();

    SearchResponse searchResponse = client().prepareSearch(INDEX).suggest(
        new SuggestBuilder().addSuggestion("testSuggestions", new CompletionSuggestionBuilder(FIELD).text("test").size(10))
    ).execute().actionGet();

    assertSuggestions(searchResponse, "testSuggestions", "testing");
    Suggest.Suggestion.Entry.Option option = searchResponse.getSuggest().getSuggestion("testSuggestions").getEntries().get(0).getOptions().get(0);
    assertThat(option, is(instanceOf(CompletionSuggestion.Entry.Option.class)));
    CompletionSuggestion.Entry.Option prefixOption = (CompletionSuggestion.Entry.Option) option;

    assertThat(prefixOption.getText().string(), equalTo("testing"));
    assertThat((long) prefixOption.getScore(), equalTo(10L));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:25,代码来源:CompletionSuggestSearchIT.java


示例14: testThatFuzzySuggesterIsUnicodeAware

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testThatFuzzySuggesterIsUnicodeAware() throws Exception {
    createIndexAndMapping(completionMappingBuilder);

    client().prepareIndex(INDEX, TYPE, "1").setSource(jsonBuilder()
            .startObject().startObject(FIELD)
            .startArray("input").value("ööööö").endArray()
            .endObject().endObject()
    ).get();

    refresh();

    // suggestion with a character, which needs unicode awareness
    org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder completionSuggestionBuilder =
            SuggestBuilders.completionSuggestion(FIELD).prefix("öööи", FuzzyOptions.builder().setUnicodeAware(true).build()).size(10);

    SearchResponse searchResponse = client().prepareSearch(INDEX).suggest(new SuggestBuilder().addSuggestion("foo", completionSuggestionBuilder)).execute().actionGet();
    assertSuggestions(searchResponse, false, "foo", "ööööö");

    // removing unicode awareness leads to no result
    completionSuggestionBuilder = SuggestBuilders.completionSuggestion(FIELD).prefix("öööи", FuzzyOptions.builder().setUnicodeAware(false).build()).size(10);
    searchResponse = client().prepareSearch(INDEX).suggest(new SuggestBuilder().addSuggestion("foo", completionSuggestionBuilder)).execute().actionGet();
    assertSuggestions(searchResponse, false, "foo");

    // increasing edit distance instead of unicode awareness works again, as this is only a single character
    completionSuggestionBuilder = SuggestBuilders.completionSuggestion(FIELD).prefix("öööи", FuzzyOptions.builder().setUnicodeAware(false).setFuzziness(Fuzziness.TWO).build()).size(10);
    searchResponse = client().prepareSearch(INDEX).suggest(new SuggestBuilder().addSuggestion("foo", completionSuggestionBuilder)).execute().actionGet();
    assertSuggestions(searchResponse, false, "foo", "ööööö");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:29,代码来源:CompletionSuggestSearchIT.java


示例15: testContextPrefix

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testContextPrefix() throws Exception {
    LinkedHashMap<String, ContextMapping> map = new LinkedHashMap<>();
    map.put("cat", ContextBuilder.category("cat").field("cat").build());
    boolean addAnotherContext = randomBoolean();
    if (addAnotherContext) {
        map.put("type", ContextBuilder.category("type").field("type").build());
    }
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder().context(map);
    createIndexAndMapping(mapping);
    int numDocs = 10;
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 0; i < numDocs; i++) {
        XContentBuilder source = jsonBuilder()
                .startObject()
                .startObject(FIELD)
                .field("input", "suggestion" + i)
                .field("weight", i + 1)
                .endObject()
                .field("cat", "cat" + i % 2);
                if (addAnotherContext) {
                    source.field("type", "type" + i % 3);
                }
                source.endObject();
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(source));
    }
    indexRandom(true, indexRequestBuilders);
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).prefix("sugg");
    assertSuggestions("foo", prefix, "suggestion9", "suggestion8", "suggestion7", "suggestion6", "suggestion5");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:31,代码来源:ContextCompletionSuggestSearchIT.java


示例16: testContextRegex

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testContextRegex() throws Exception {
    LinkedHashMap<String, ContextMapping> map = new LinkedHashMap<>();
    map.put("cat", ContextBuilder.category("cat").field("cat").build());
    boolean addAnotherContext = randomBoolean();
    if (addAnotherContext) {
        map.put("type", ContextBuilder.category("type").field("type").build());
    }
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder().context(map);
    createIndexAndMapping(mapping);
    int numDocs = 10;
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 0; i < numDocs; i++) {
        XContentBuilder source = jsonBuilder()
                .startObject()
                .startObject(FIELD)
                .field("input", "sugg" + i + "estion")
                .field("weight", i + 1)
                .endObject()
                .field("cat", "cat" + i % 2);
        if (addAnotherContext) {
            source.field("type", "type" + i % 3);
        }
        source.endObject();
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(source));
    }
    indexRandom(true, indexRequestBuilders);
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).regex("sugg.*es");
    assertSuggestions("foo", prefix, "sugg9estion", "sugg8estion", "sugg7estion", "sugg6estion", "sugg5estion");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:31,代码来源:ContextCompletionSuggestSearchIT.java


示例17: testContextFuzzy

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testContextFuzzy() throws Exception {
    LinkedHashMap<String, ContextMapping> map = new LinkedHashMap<>();
    map.put("cat", ContextBuilder.category("cat").field("cat").build());
    boolean addAnotherContext = randomBoolean();
    if (addAnotherContext) {
        map.put("type", ContextBuilder.category("type").field("type").build());
    }
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder().context(map);
    createIndexAndMapping(mapping);
    int numDocs = 10;
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 0; i < numDocs; i++) {
        XContentBuilder source = jsonBuilder()
                .startObject()
                .startObject(FIELD)
                .field("input", "sugxgestion" + i)
                .field("weight", i + 1)
                .endObject()
                .field("cat", "cat" + i % 2);
        if (addAnotherContext) {
            source.field("type", "type" + i % 3);
        }
        source.endObject();
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(source));
    }
    indexRandom(true, indexRequestBuilders);
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).prefix("sugg", Fuzziness.ONE);
    assertSuggestions("foo", prefix, "sugxgestion9", "sugxgestion8", "sugxgestion7", "sugxgestion6", "sugxgestion5");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:31,代码来源:ContextCompletionSuggestSearchIT.java


示例18: testContextFilteringWorksWithUTF8Categories

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testContextFilteringWorksWithUTF8Categories() throws Exception {
    CategoryContextMapping contextMapping = ContextBuilder.category("cat").field("cat").build();
    LinkedHashMap<String, ContextMapping> map = new LinkedHashMap<>(Collections.singletonMap("cat", contextMapping));
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder().context(map);
    createIndexAndMapping(mapping);
    IndexResponse indexResponse = client().prepareIndex(INDEX, TYPE, "1")
            .setSource(jsonBuilder().startObject()
                    .startObject(FIELD)
                    .field("input", "suggestion")
                    .endObject()
                    .field("cat", "ctx\\u00e4")
                    .endObject())
            .get();
    assertThat(indexResponse.status(), equalTo(RestStatus.CREATED));
    assertNoFailures(client().admin().indices().prepareRefresh(INDEX).get());
    CompletionSuggestionBuilder contextSuggestQuery = SuggestBuilders.completionSuggestion(FIELD).prefix("sugg")
            .contexts(Collections.singletonMap("cat",
                    Collections.singletonList(CategoryQueryContext.builder().setCategory("ctx\\u00e4").build())));
    assertSuggestions("foo", contextSuggestQuery, "suggestion");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:21,代码来源:ContextCompletionSuggestSearchIT.java


示例19: testSingleContextBoosting

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testSingleContextBoosting() throws Exception {
    CategoryContextMapping contextMapping = ContextBuilder.category("cat").field("cat").build();
    LinkedHashMap<String, ContextMapping> map = new LinkedHashMap<String, ContextMapping>(Collections.singletonMap("cat", contextMapping));
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder().context(map);
    createIndexAndMapping(mapping);
    int numDocs = 10;
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 0; i < numDocs; i++) {
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(jsonBuilder()
                                .startObject()
                                .startObject(FIELD)
                                .field("input", "suggestion" + i)
                                .field("weight", i + 1)
                                .endObject()
                                .field("cat", "cat" + i % 2)
                                .endObject()
                ));
    }
    indexRandom(true, indexRequestBuilders);
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).prefix("sugg")
            .contexts(Collections.singletonMap("cat",
                    Arrays.asList(CategoryQueryContext.builder().setCategory("cat0").setBoost(3).build(),
                    CategoryQueryContext.builder().setCategory("cat1").build()))
            );
    assertSuggestions("foo", prefix, "suggestion8", "suggestion6", "suggestion4", "suggestion9", "suggestion2");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:28,代码来源:ContextCompletionSuggestSearchIT.java


示例20: testMissingContextValue

import org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder; //导入依赖的package包/类
public void testMissingContextValue() throws Exception {
    LinkedHashMap<String, ContextMapping> map = new LinkedHashMap<>();
    map.put("cat", ContextBuilder.category("cat").field("cat").build());
    map.put("type", ContextBuilder.category("type").field("type").build());
    final CompletionMappingBuilder mapping = new CompletionMappingBuilder().context(map);
    createIndexAndMapping(mapping);
    int numDocs = 10;
    List<IndexRequestBuilder> indexRequestBuilders = new ArrayList<>();
    for (int i = 0; i < numDocs; i++) {
        XContentBuilder source = jsonBuilder()
                .startObject()
                .startObject(FIELD)
                .field("input", "suggestion" + i)
                .field("weight", i + 1)
                .endObject();
        if (randomBoolean()) {
            source.field("cat", "cat" + i % 2);
        }
        if (randomBoolean()) {
            source.field("type", "type" + i % 4);
        }
        source.endObject();
        indexRequestBuilders.add(client().prepareIndex(INDEX, TYPE, "" + i)
                .setSource(source));
    }
    indexRandom(true, indexRequestBuilders);
    CompletionSuggestionBuilder prefix = SuggestBuilders.completionSuggestion(FIELD).prefix("sugg");
    assertSuggestions("foo", prefix, "suggestion9", "suggestion8", "suggestion7", "suggestion6", "suggestion5");
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:30,代码来源:ContextCompletionSuggestSearchIT.java



注:本文中的org.elasticsearch.search.suggest.completion.CompletionSuggestionBuilder类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ZKFCProtocolService类代码示例发布时间:2022-05-22
下一篇:
Java ValuesList类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap