Giter Site home page Giter Site logo

Comments (10)

wangfenjin avatar wangfenjin commented on May 31, 2024

给个例子?

from simple.

ProgramerMartin avatar ProgramerMartin commented on May 31, 2024

给个例子?

就比如这段"I love China! 我爱**!"复制100次后插入字段
执行 fts match simple_query('love')
就把所有love都查出来了,因为之前用的mysql也好sqlite3的fts4也好,都是可以只返回最高的匹配度的前后100个(一个参数)字符

from simple.

wangfenjin avatar wangfenjin commented on May 31, 2024

给个具体的例子?看不懂你在说什么

现在的匹配逻辑是按照微信那篇文章做的

from simple.

ProgramerMartin avatar ProgramerMartin commented on May 31, 2024

给个具体的例子?看不懂你在说什么

现在的匹配逻辑是按照微信那篇文章做的

你好,就比如这个例子

-- Examples to use simple tokenizer

-- load so file
.load libsimple

-- set tokenize to simple
CREATE VIRTUAL TABLE t1 USING fts5(x, tokenize = "simple");

-- add some values into the table
insert into t1 values ("start: 周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐,周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐, simple,周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐,周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐 :end"),
                      ("I love China! 我爱**!") ;
select "所有数据:";
select '    ', * from t1;

select "搜索 simple:";
select '    ', simple_highlight(t1, 0, '||在这里||=>', '<=||在这里||') from t1 where x match simple_query('simple');

执行make test结果:

make test
./sqlite3-shell < test.sql
所有数据:
    |start: 周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐,周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐, simple,周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐,周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐 :end
    |I love China! 我爱**!
搜索 simple:
    |start: 周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐,周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐, ||在这里||=>simple<=||在这里||,周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐,周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐周杰伦 Jay Chou:最美的不是下雨天,是曾与你躲过雨的屋檐 :end

返回的太长了 是不是能根据匹配度 前后截取一些?

from simple.

wangfenjin avatar wangfenjin commented on May 31, 2024

懂了。如果要做的话需要改一下 simple_highlight 的接口,支持传入一个最长的字符串

另外一种方案是类似 #1 这里提到的,提供一个返回位置的函数,让用户自己决定显示多长

from simple.

wangfenjin avatar wangfenjin commented on May 31, 2024

加了 simple_snippet 函数,见 example.sql

from simple.

ProgramerMartin avatar ProgramerMartin commented on May 31, 2024

加了 simple_snippet 函数,见 example.sql

你好,这次更新的太棒了。
有个小问题请教一下您
我执行

./sqlite3 ./test.db < example.sql

生成的test.db无法用navicat打开
提示SQLite 3 library is not loaded.
使用本机sqlite3创建的db文件就可以正常打开
应该是navicat没有load咱们的分词lib
请问我要怎么配置一下我的navicat才能打开呢?

from simple.

ProgramerMartin avatar ProgramerMartin commented on May 31, 2024

还有就是上个版本必须要保持libsimple.so和contrib目录同时存在,才能正确的使用拼音分词
用的应该是里面的pinyin.txt
这次好像不需要了?直接一个libsimple.so就够了是么?

from simple.

wangfenjin avatar wangfenjin commented on May 31, 2024

还有就是上个版本必须要保持libsimple.so和contrib目录同时存在,才能正确的使用拼音分词
用的应该是里面的pinyin.txt
这次好像不需要了?直接一个libsimple.so就够了是么?

对,我用了一点黑魔法把 pinyin.txt 编进去了

navicat 没用过,你搜一下吧,现在什么都不依赖只用吧 libsimple.so 设置进去就可以

from simple.

wangfenjin avatar wangfenjin commented on May 31, 2024

还有就是上个版本必须要保持libsimple.so和contrib目录同时存在,才能正确的使用拼音分词
用的应该是里面的pinyin.txt
这次好像不需要了?直接一个libsimple.so就够了是么?

有可能你把 libsimple.so 拷贝到 /usr/local/lib 或者类似的路径就可以,理论上系统会自动去这些路径去找 so

from simple.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.