摘要:
将一个类的接口转化为客户期望的另一个接口,适配器模式让原本接口不兼容的两个类可以进行合作无间。 阅读全文
摘要:
在不改动对象的情况下,动态地将功能附加到对象上。若要扩展功能,应该提供一个包装器,把要扩展的对象包装起来,以提供更加强大的功能。 阅读全文
摘要:
先说答案:slot-scope="scope" 必须写,不然出问题。 问题是在这样的,我在ElementUI官网查阅表格资料的时候,看到表格的表头可以自定义,于是我就想和官网一样,在操作栏添加一个搜索的输入框,用来搜索表中的内容。 下面是官网的例子: 然后我就把示例代码搬了过去,因为搜索的时候用不到 阅读全文
摘要:
一、匹配多字段搜索 在有些情况下,我们需要把输入的关键字在多个字段中进行匹配。 例如:我们需要在“title”和“content”字段中搜索“组件刷新”这个关键字。 // 多字段查询,同时在多个字段中进行查询,查询的关键字会进行分词 String[] fields = {"title", "cont 阅读全文
摘要:
一、 获取搜索的关键字 获取用户输入的内容,假如我们要搜索文档中 title 字段包含 “组件” 这个词的记录。 二、 根据传入的字段和关键字进行组装搜索语法 TermQuery: 单字段搜索,精确查询,搜索的内容不会分词,"组件"、"刷新 " 可以查询到数据,“组件刷新” 查询不到。 new Te 阅读全文
摘要:
在我们删除数据时,我们也应该同时把lucene中的数据删掉。 在lucene中删除也比较简单,我们只要调用deleteDocuments即可删除。 indexWriter.deleteDocuments(term); 附录:完整代码 @Test public void deleteIndex() { 阅读全文
摘要:
在我们存储的数据更新了时,我们要把索引和文档页更新,这时我们就可以使用修改索引的方式来更新。 修改索引和创建索引一致,只需要把 writer.addDocument(document); 改成下面的即可: // 把文档根据条件更新到IndexWriter writer.updateDocument( 阅读全文
摘要:
一、指定一个存放索引的目录 这里我指定了一个绝对的位置,这个位置要能读写数据。 // lucene索引目录位置 String indexDir = "E:\\develop\\demo\\lucene-learn\\lucene-index"; File luceneIndexDirectory = 阅读全文
摘要:
项目构建 项目是使用 gradle 来构建的,下面是 build.gradle,这里我们统一使用还算新的 lucene 版本 8.0.0, 主要是这个版本的 IK分词器、luke找得到,如果版本不统一的话会有很多坑,建议统一成一样的。 plugins { id 'java' } group 'cn. 阅读全文
摘要:
分词 analyzers 分词比较好理解,我们可以理解为把一个句子分成一个可能的词组成的数组。 比如:“为了保证用户不受到骚扰” 这个句子可能组成的数组为["为了","保证","用户","不受","到","骚扰"],这样的操作就是分词。 市场上已有现成的分词工具类,不用我们去写这个算法。 索引 in 阅读全文