Apache solr搜索所有可能的文本组合
嗨,我有一个输入为“堆栈交换”的solr文本字段。如何通过solr过滤器搜索我输入的所有可能组合,如“交换堆栈”和“堆栈交换”很简单,只需设置solr q.op=和使用普通查询Apache solr搜索所有可能的文本组合,apache,solr,Apache,Solr,嗨,我有一个输入为“堆栈交换”的solr文本字段。如何通过solr过滤器搜索我输入的所有可能组合,如“交换堆栈”和“堆栈交换”很简单,只需设置solr q.op=和使用普通查询q=堆栈交换,不带引号。它同时匹配“交换堆栈”和“堆栈交换” 默认情况下,solr使用OR运算符 如果您在querystring“Stack Exchange”周围使用引号,这是一个短语查询,它会为您提供文档的结果,这些文档的回复正好包含“Stack Exchange”,但在solr adminFind原始查询参数项中添加
q=堆栈交换
,不带引号。它同时匹配“交换堆栈”和“堆栈交换”
默认情况下,solr使用OR运算符
如果您在querystring
“Stack Exchange”
周围使用引号,这是一个短语查询,它会为您提供文档的结果,这些文档的回复正好包含“Stack Exchange”,但在solr adminFind原始查询参数项中添加q.op的位置,然后将q.op=和放在输入文本中。执行上述操作可获得“msg”:“未定义的字段文本”错误但是当我在没有引号的情况下给出时,我得到了以下错误。“错误”:{“msg”:“未定义的字段文本”,“代码”:400}您的schema.xml文件应该具有字段名文本的字段定义。检查您的模式文件。您使用的是哪个solr版本?我没有带文本的ant字段,但mu配置文件有明确的10文本ok。在架构文件中输入新的复制字段
将字段名更改为文档中具有堆栈交换值的字段名。然后重新启动solr。它起作用了