每当我使用q = :查询时,它会显示所有文档,但是当我使用q = programmer 0 docs查询时(内容是默认搜索字段) 我的架构有:id(唯一),作者,标题,内容字段 查询也适用于: q =作者:“值”或q =标题:“我的书”等,仅对内容字段没有结果。 此外,当我使用拼写检查器(/ spell?q = programmer)查询时,输出显示该单词的拼写建议,当'programmer'是正确的单词并出现在许多文档中时。 我参考了配置的示例文档。 突然间我得到了这个,最初它工作得很好。 我想只在内容领域有一些问题,但无法弄明白。 是因为没有为内容字段正确创建索引吗? (我在Windows 7上使用solr 4.2,tomcat作为webserver) 请帮忙。提前多多谢谢。
答案 0 :(得分:0)
您确定要设置默认搜索字段吗?您遇到此问题的原因可能是您未在schema.xml文件中设置<defaultSearchField>
字段。这就是为什么“q = author:value”有效,而q = WHATEVER没有。
解析查询时Solr使用的 确定应在查询中搜索哪个字段名称 显式字段名称尚未使用。
但也要考虑这个:
解析查询时Solr使用它 确定应在查询中搜索哪个字段名称 显式字段名称尚未使用。最好不要使用或 依靠这个设置;而是请求处理程序或查询LocalParams 对于搜索,应指定要搜索的默认字段。这个 此处的设置可以省略,正在考虑中 弃用。
答案 1 :(得分:0)
您的实例中是否有任何数据?尝试q = *:*并查看它返回的内容。 “for”是一个停用词,可能是它被过滤掉了。寻找其他东西作为值来测试。