IK 表达式引擎是不支持代入java对象的,所以其实不符合项目需求的
不过之前做搜索的时候用过ik的分词器,还是对它做个测试吧
测试的只是普通的运算,如果是单纯的数字运算也还是可以用这个的
package com.eyu.ahxy.module.expression.ik;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import org.wltea.expression.ExpressionEvaluator;
import org.wltea.expression.PreparedExpression;
import org.wltea.expression.datameta.Variable;
/**
* 编译后 1000000次 ===>3923毫秒 100000次 ===>700毫秒
* 不编译 1000000次 ===>9835毫秒 100000次 ===>2123毫秒
* @author bean
*/
public class IkTest {
String exp = "a*b+(c+d*e)";
static List<Variable> variables = new ArrayList<>();
static {
variables.add(Variable.createVariable("a", 10));
variables.add(Variable.createVariable("b", 10));
variables.add(Variable.createVariable("c", 10));
variables.add(Variable.createVariable("d", 10));
variables.add(Variable.createVariable("e", 2));
}
PreparedExpression pe = ExpressionEvaluator.preparedCompile(exp, variables);
public static final int NUM = 100000;
public int getA() {
return 10;
}
public int getB() {
return 10;
}
@Test
public void compileTest() throws Exception {
for (int i = 0; i < NUM; i++) {
Object result = ExpressionEvaluator.evaluate(exp, variables);
// Object result = pe.execute();
// System.err.println("=========" + result);
}
}
}
分享到:
相关推荐
IK Expression 是一个开源的(OpenSource),可...在实际项目应用中,我们可以将业务规则公式化,然后用IK表达式来解析,这样不管以后业务规则怎么变,我们只需要配置或修改相应的公式而已,真正做到了以不变应万变。
IKExpression是一款针对Java平台的轻量级表达式引擎,主要用于解析和执行用户自定义的表达式,从而实现程序的动态配置和灵活性。IKExpression V2.1.0是该引擎的升级版本,提供了更高效、稳定和易用的特性。 在...
通过查看IK Expression开源表达式解析器V2.1.2的源代码,开发者不仅可以学习到表达式解析的相关知识,还能了解到如何设计和实现一个高效的解析引擎。这对于提升编程技能,尤其是深入理解编译原理和语言解析技术,是...
IKExpression技术是面向Java开发人员的一种高效且灵活的表达式计算框架,主要用于处理各种复杂的运算表达式,包括但不限于四则运算、对象表达式以及正则表达式。这项技术旨在简化程序中的动态计算逻辑,使开发者能够...
这个"IKanalyzer 分词小测试例子"旨在帮助开发者了解并熟悉如何在实际项目中集成和使用IKAnalyzer。 ### 1. IKAnalyzer的特性 - **高性能**:IKAnalyzer采用了高效的字典匹配算法,能够快速地对中文文本进行分词。...
### IKExpression简易表达式引擎V2.1.0使用说明 #### 1. IK表达式介绍(IKExpressionIntroduction) **IKExpression** 是一款基于 Java 的开源、可扩展且超轻量级的公式化语言解析执行工具包。它不依赖于任何第三...
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。
在自然语言处理(NLP)领域,...总之,“ik中文分词词库”是一个强大而实用的工具,对于任何需要处理中文文本的项目来说,都是不可或缺的一部分。正确配置和使用这个词库,可以显著提高中文文本处理的准确性和效率。
IKAnalyzer非常易用的java分词工具。可以自定义扩展词汇。 这个是一个完整的java项目demo。直接可以用,不用再去google下载了。添加了几个自定义词汇,测试好用。 运行ika.java里的main方法即可
总的来说,IKAnalyzer3.2.5Stable.jar是一个可靠的中文分词工具,适用于各种需要中文处理的项目,例如搜索引擎、信息检索系统、数据分析应用等。其稳定的版本和详尽的安装教程确保了用户能够方便地集成和使用这一...
IK Analyzer是一个广泛使用的Java分词器,特别为满足中文处理需求而设计。本篇将深入探讨如何基于IK Analyzer实现动态词库分词,并且在整个过程中无需重启服务,极大地提高了系统的灵活性和效率。 首先,我们需要...
此外,IK还允许通过正则表达式进行自定义扩展规则,以处理一些特殊词汇的分词需求。 **优化和维护** 1. **词典更新**: 随着业务的发展,可能需要定期更新词典,以包含新出现的词汇或术语。 2. **性能调优**: 根据...
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言...如果你需要一个功能强大的表达式引擎,也许IK Expression并不是最好的选择。
Final-IK 2.1是一款专为Unity游戏引擎设计的反向动力学(Inverse Kinematics,简称IK)插件,它的最新版本带来了更强大的功能和优化,旨在提升游戏角色的动画效果和动作捕捉(Motion Capture,简称Mocap)的集成效率...
IKAnalyzer的使用流程大致如下:首先,需要在项目中引入IKAnalyzer的jar包;然后,创建Analyzer实例,并配置自定义字典(如果需要);接着,使用Analyzer对输入的文本进行分词,得到的词语可以用于构建索引或进行...
- **测试验证**:通过Elasticsearch的分析器接口发送测试请求,验证ik分词器是否正常工作。 ### 5. 使用ik分词器的注意事项 - **词典管理**:定期更新词典以保持最新词汇,避免遗漏关键信息。 - **性能监控**:...
本项目就是针对这一需求,实现了基于MySQL数据库的Elasticsearch IK词典热更新功能。 ### Elasticsearch基础 Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,能够提供快速、高可扩展的全文检索、...
ik-analyzer是一款在Java环境下广泛使用的开源中文分词器,专为满足Java开发者在信息检索、文本分析等领域的需求而设计。这个资源是ik-analyzer的8.5.0版本,包含了一个名为"ik-analyzer-8.5.0-jar"的JAR文件,它是...
如果你需要一个功能强大的表达式引擎,也许IK Expression并不是最好的选择。 详细参阅: http://linliangyi2007.javaeye.com/blog/337069 GoogleCode开源项目 :http://code.google.com/p/ik-expression/ Google...
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言...如果你需要一个功能强大的表达式引擎,也许IK Expression并不是最好的选择。