当前位置: 首页 > 知识库问答 >
问题:

如何忽略SOLR查询中的某些字段

喻元龙
2023-03-14

我有Solr 5.3.1,需要查询除某些字段之外的所有字段(我需要在某些字段中搜索而不是以这种方式检索字段[/?q=query&fl=field1,field2,field3])

2.[以下解决方案有效,但需要更多时间]

query = field1:"+txtSearch+"OR field1:"+ txtSearch+" OR field1:"+txtSearch 

3.我在data-config.xml中设置了indexed=“false”,它只忽略此字段中的搜索,但是当我搜索所有字段http://localhost:8983/solr/test?q=query时,无论indexed=“false”还是true都在所有字段中搜索

我寻找所有这些链接

共有1个答案

康照
2023-03-14

使用copyField

以下是如何使用它:

  • 使所有字段stored=“true”和indexed=“false”
  • 还用multivalued=“true”、stored=“false”和indexed=“true”创建一个新字段,例如cffield
<field name="field1" type="string" indexed="false" stored="true"/>
<field name="field2" type="string" indexed="false" stored="true"/>
<field name="field3" type="string" indexed="false" stored="true"/>
....
<field name="cffield" type="string" indexed="true" stored="false" multiValued="true"/>
    null
<copyField source="field1" dest="cffield"/>
<copyField source="field2" dest="cffield"/>
....

现在可以使用

query = cffield:txtSearch

这将给出您使用CopyField的源和cffield作为dest的所有字段的结果

 类似资料:
  • 和使用它的字段: 当使用Solr分析工具时,一切看起来都很好。 查询部分如下: null null

  • 我想知道是否可以使用此方法忽略字段,因为我有一个要忽略的字段列表,在同一个类中,那么我该如何做呢? 我正在使用 谢谢

  • 项目中经常会生成一些Git系统不需要追踪(track)的文件。典型的是在编译生成过程中 产生的文件或是编程器生成的临时备份文件。当然,你不追踪(track)这些文件,可以 平时不用"git add"去把它们加到索引中。 但是这样会很快变成一件烦人的事,你发现 项目中到处有未追踪(untracked)的文件; 这样也使"git add ." 和"git commit -a" 变得实际上没有用处,同时

  • 问题内容: 我收到此错误,因为其中一位用户在他的帖子中添加了 错误:[$ sanitize:badparse]清理程序无法解析以下html块:<3 我写的代码 我想他要采取仅标签和标签 那可能吗? 谢谢! 问题答案: 您可以创建过滤器,以清理HTML。 我在其中使用了strip_tags函数 http://phpjs.org/functions/strip_tags/ 控制器: 视图: http:

  • 问题内容: 在CVS配置的“排除的区域”中,添加了以下内容: 具有上述扩展名的所有文件都应忽略。但是,Jenkins仍然基于以下事实运行构建:某个文件夹ABC中的文件“ build.txt”已更改,或者tar.gz文件之一已更改。如何让詹金斯忽略这些文件?我的正则表达式有问题吗? 问题答案: 很高兴为您服务!根据要求重新发布: 我的猜测是它与零件有关。您刚刚尝试过吗? 就像实验一样,您也可以尝试(

  • 问题内容: 我有这样的XML消息: 我想将被测试方法产生的这种类型的消息与预期的消息进行比较,但我不在乎。因此,我希望以上消息被认为等于: 我正在使用XMLUnit的最新版本。 我在想答案是创建一个习惯。如果有准备好要使用的东西,我只是不想重新发明轮子。 欢迎使用XMLUnit以外的库的建议。 问题答案: 自从回答了这个问题以来,XMLUnit发生了很多变化。 现在,您可以在使用时轻松忽略节​​点