liqe类似 Lucene 的解析器和搜索引擎

联合创作 · 2023-09-29 03:14

liqe 是一个轻量级和高性能的类似 Lucene 的解析器和搜索引擎。

Usage

import {
  filter,
  highlight,
  parse,
  test,
} from 'liqe';

const persons = [
  {
    height: 180,
    name: 'John Morton',
  },
  {
    height: 175,
    name: 'David Barker',
  },
  {
    height: 170,
    name: 'Thomas Castro',
  },
];

过滤集合:

filter(parse('height:>170'), persons);
// [
//   {
//     height: 180,
//     name: 'John Morton',
//   },
//   {
//     height: 175,
//     name: 'David Barker',
//   },
// ]

测试单个对象:

test(parse('name:John'), persons[0]);
// true
test(parse('name:David'), persons[0]);
// false

突出显示匹配的字段和子字符串:

test(highlight('name:john'), persons[0]);
// [
//   {
//     keyword: 'John',
//     path: 'name',
//   }
// ]
test(highlight('height:180'), persons[0]);
// [
//   {
//     path: 'height',
//   }
// ] 
浏览 10
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报