我使用Neo4j嵌入式数据库。我必须每天存储数千篇文章,并且我需要提供搜索功能,我应该返回其内容与用户输入的关键字匹配的文章。我索引了每篇文章的内容并查询了索引,如下所示
val articles = article_content_index.query("article_content", search string)
这很好用。但是,当搜索字符串包含诸如“the”,“a”等常用词语时,它会花费大量时间,这些词语将出现在每篇文章中。
如何解决这个问题?
答案 0 :(得分:2)
可能是一个lucene问题。
您可以配置自己的分析仪,这可以省去那些频繁的(停止)单词:
http://docs.neo4j.org/chunked/stable/indexing-create-advanced.html http://lucene.apache.org/core/3_6_2/api/core/org/apache/lucene/analysis/Analyzer.html http://lucene.apache.org/core/3_6_2/api/core/org/apache/lucene/analysis/standard/StandardAnalyzer.html
答案 1 :(得分:1)
您可以将article_content_index
配置为全文索引,请参阅http://docs.neo4j.org/chunked/stable/indexing-create-advanced.html。要切换到使用全文索引,首先必须删除索引,并且IndexManager.forNodes(String, Map)
的第一次使用需要在创建时正确配置索引。