用Lucene进行Neo4j查询

用Lucene进行Neo4j查询,lucene,indexing,full-text-search,neo4j,Lucene,Indexing,Full Text Search,Neo4j,我使用Neo4j嵌入式作为数据库。我必须每天存储数千篇文章,我需要提供搜索功能,在那里我应该返回内容与用户输入的关键字匹配的文章。我为每篇文章的内容编制了索引,并在索引上进行了查询,如下所示 val articles = article_content_index.query("article_content", search string) 这个很好用。但是,当搜索字符串包含诸如“the”、“a”等常见词时,这需要花费很多时间,这些词将出现在每篇文章中 如何解决此问题?您可以将文章内容索引配

我使用Neo4j嵌入式作为数据库。我必须每天存储数千篇文章,我需要提供搜索功能,在那里我应该返回内容与用户输入的关键字匹配的文章。我为每篇文章的内容编制了索引,并在索引上进行了查询,如下所示

val articles = article_content_index.query("article_content", search string)
这个很好用。但是,当搜索字符串包含诸如“the”、“a”等常见词时,这需要花费很多时间,这些词将出现在每篇文章中


如何解决此问题?

您可以将
文章内容索引
配置为全文索引,请参阅。要切换到使用全文索引,首先必须删除索引,并且首次使用
IndexManager。forNodes(String,Map)
需要在创建时正确配置索引。

可能是lucene的问题

您可以配置自己的分析器,它可以省去那些频繁出现的(停止)字:


am已经在使用全文索引(“文章内容”),一些(地图(“提供者”->“lucene”,“类型”->“全文”))考虑指定一个特殊的分析器,防止索引中出现诸如“the”,“a”之类的词。Lucene文档应该提供一些提示。在这种情况下,如果搜索字符串只是“the”或“a”,我就不会得到任何结果!通常,从要索引的数据和查询字符串中删除短词。您的用例似乎有所不同。如果你想搜索“the”,你需要意识到这可能很耗时。