Solr 找不到资源 stopwords_en.txt

Posted

技术标签:

【中文标题】Solr 找不到资源 stopwords_en.txt【英文标题】:Solr can't find resource stopwords_en.txt 【发布时间】:2012-07-08 08:55:10 【问题描述】:

我正在尝试使用 Django-haystack Beta 2.0.0 设置 Solr 3.6.0。

在运行./manage.py build_solr_schema 并将schema.xml 移动到conf 目录后,在访问http://localhost:8983/solr/admin 时,我收到一个与this thread 中产生的完全一样的错误。

org.apache.solr.common.SolrException: No cores were created, please check the logs for errors

java.lang.RuntimeException: Can't find resource 'stopwords_en.txt' in classpath or 'solr/./conf/', cwd=/home/randall/startupsearch_live/apache-solr-3.6.0/example

在帖子的底部,一位用户提到必须编辑 schema.xml 以将 stopwords_en.txt 与 /example/solr/conf/ 目录匹配,我通过符号链接和编辑所有实例都做到了这一点stopwords.txt 到生成的 schema.xml 文件中的 /solr/conf/stopwords_en.txt 。但是,同样的错误仍然存​​在,输出略有不同:

java.lang.RuntimeException: Can't find resource '/solr/conf/stopwords_en.txt' in classpath or 'solr/./conf/', cwd=/home/randall/startupsearch_live/apache-solr-3.6.0/example

我必须编辑什么文件来解决这个问题?

【问题讨论】:

【参考方案1】:

您必须将 stopwords_en.txt 放在路径中。 创建一个文件名 stopwords_en.txt 并粘贴到 schema.xml 旁边。 我希望你知道使用什么停用词过滤器.....

【讨论】:

【参考方案2】:

在类路径中找不到stopwords_en.txt 文件。您应该将stopwords_en.txt 文件添加到solr/conf/ 目录中。你可以找到更多关于停用词的信息here.

【讨论】:

【参考方案3】:

更好的方法是在 schema.xml 中查找所有出现的 stopwords_en.txt 并将其替换为 lang/stopwords_en.txt

【讨论】:

【参考方案4】:

要结合以上所有三个答案,您需要 stopwords_en.txt,因为它开始测试英语文本

来自http://wiki.apache.org/solr/LanguageAnalysis#Stopwords

停用词以三种方式影响 Solr:相关性、性能和 资源利用率。

从相关性的角度来看,这些频率极高的术语 倾向于扔掉评分算法,你不会得到很好的 结果,如果你离开他们。同时,如果你删除它们,你 当停用词实际上很重要时,可能会返回不好的结果。

从性能的角度来看,如果你保留停用词,一些查询 (尤其是短语查询)可能会很慢。

从资源利用的角度来看,如果保留停用词,则 索引比删除它们时大得多。

如果您有磁盘空间,您可以做出一个权衡:您可以使用 CommonGramsFilter/CommonGramsQueryFilter 而不是 StopFilter。这 解决了相关性和性能问题,甚至牺牲了 更多的资源利用,因为它会形成二元组的停用词 到他们相邻的单词。

您需要做的是将位于 solr 目录的 /conf/lang 文件夹中的原始版本复制到 /conf 目录中

cp PATH/TO/solr/conf/lang/stopwords_en.txt PATH/TO/solr/conf

【讨论】:

【参考方案5】:

在 Solr 5 中,我遇到了同样的错误。我曾使用 Solr zookeeper cli shell 上传我的配置。我从 server/solr/configsets/basic_configs 复制了现有 solr 配置的内容,但不知何故错过了 lang 目录。

conf/lang 目录包含 stopwords_en.txt。

【讨论】:

以上是关于Solr 找不到资源 stopwords_en.txt的主要内容,如果未能解决你的问题,请参考以下文章

在 solr 6.0 中找不到 schema.xml 文件,所以要配置它,我应该添加一个新文件,还是会自动发生?

无法启动HBase start_hbase.sh:找不到命令

百度地图和solr展示资源和附近等功能的实现 四

solr搜索分词优化

找不到映像文件中指定的资源类型 GetLastError 1813

IDEA启动失败,好像是找不到一些资源,可以怎么解决?之前不小心在程序与应用那删过C++