使用cqengine进行集合检索

背景

若有须要在内存进行搜索匹配,可使用cqengine来对java的集合进行高效检索java

maven

<dependency>
            <groupId>com.googlecode.cqengine</groupId>
            <artifactId>cqengine</artifactId>
            <version>2.9.2</version>
        </dependency>

声明及初始化

IndexedCollection<Demo> demos = new ConcurrentIndexedCollection<Demo>();
demos.addAll(.....);

设置索引类型

import static com.googlecode.cqengine.query.QueryFactory.attribute;
final Attribute<Demo, String> NAME = attribute("name", Demo::getName);
reportItems.addIndex(SuffixTreeIndex.onAttribute(NAME));

搜索

import static com.googlecode.cqengine.query.QueryFactory.contains;
Query<Demo> query = contains(NAME,key);
ResultSet<Demo> resultSet = demos.retrieve(query);

doc

相关文章
相关标签/搜索