Neo4j 数据库 全文搜索分词器自定义技巧

Neo4j 数据库阿木 发布于 12 天前 3 次阅读


摘要:

全文搜索是现代数据库中不可或缺的功能之一,尤其在Neo4j这样的图数据库中,能够有效地对图数据进行搜索和分析。本文将围绕Neo4j数据库的全文搜索分词器自定义技巧展开,详细介绍如何在Neo4j中实现高效的全文搜索,并分享一些实用的自定义分词器的技巧。

一、

Neo4j 是一个高性能的图数据库,它以图结构存储数据,使得在处理复杂关系数据时具有天然的优势。在处理文本数据时,Neo4j 的全文搜索功能可能无法满足所有需求。自定义分词器成为了一种提高全文搜索效率的重要手段。

二、Neo4j 全文搜索基础

1. 全文搜索简介

Neo4j 的全文搜索功能基于Elasticsearch,它允许用户对图中的节点和关系进行全文搜索。全文搜索可以基于节点或关系的属性进行,支持多种搜索模式,如精确匹配、模糊匹配等。

2. 全文搜索配置

在Neo4j中启用全文搜索功能,需要配置Elasticsearch和相应的索引。以下是一个基本的配置示例:

```java

// 启用全文搜索

dbms.setConfig("dbms.security.procedures.unrestricted", "apoc.load,apoc.export.csv,apoc.export.graphml,apoc.export.json,apoc.export.xml,apoc.create,apoc.merge,apoc.path,apoc.algo.dijkstra,apoc.algo shortestPath,apoc.algo.closeness,apoc.algo.betweenness,apoc.algo.diameter,apoc.algo.centroid,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.topologicalSort,apoc.algo.kcore,apoc.algo.pageRank,apoc.algo.eigenvectorCentrality,apoc.algo.betweennessCentrality,apoc.algo.closenessCentrality,apoc.algo.diameterCentrality,apoc.algo.katzCentrality,apoc.algo.ratioCentrality,apoc.algo.centrality,apoc.algo.clusteringCoefficient,apoc.algo.stratification,apoc.algo.dag,apoc.algo.top