JAVA ES ik分词器长度设置
JAVA ES中的ik分词器长度设置可以通过以下两种方式进行:
- 在创建索引时设置分词器的长度参数。可以通过以下代码来设置ik分词器的最小长度和最大长度:
Settings settings = Settings.builder()
.put("index.analysis.analyzer.default.type", "ik_max_word")
.put("index.analysis.analyzer.default.tokenizer", "ik_max_word")
.put("index.analysis.analyzer.default.filter.0.type", "length")
.put("index.analysis.analyzer.default.filter.0.min", "2") // 设置最小长度为2
.put("index.analysis.analyzer.default.filter.0.max", "10") // 设置最大长度为10
.build();
Index index = new Index.Builder(jsonString)
.setParameter("analysis", settings)
.build();
- 在搜索时设置查询分词器的长度参数。可以通过以下代码来设置查询分词器的最小长度和最大长度:
Search search = new Search.Builder(query)
.addIndex(indexName)
.addType(typeName)
.setParameter("analysis.analyzer", "ik_max_word")
.setParameter("analysis.analyzer.filter.0.type", "length")
.setParameter("analysis.analyzer.filter.0.min", "2") // 设置最小长度为2
.setParameter("analysis.analyzer.filter.0.max", "10") // 设置最大长度为10
.build();
以上代码示例中,分词器的类型为ik_max_word,表示使用ik分词器进行分词。在设置分词器长度参数时,可以使用length过滤器来限制词语的长度范围。min参数表示最小长度,max参数表示最大长度。根据需要,可以调整这些参数的值来满足具体的需求
原文地址: https://www.cveoy.top/t/topic/ivFq 著作权归作者所有。请勿转载和采集!