【问题标题】:Solr query syntax such like SQL “IN” conditionSolr 查询语法,例如 SQL“IN”条件
【发布时间】:2012-04-04 03:11:54
【问题描述】:

这里有一个 Solr 查询问题。

例如,组查询查询:Solr中有一个逗号字段吐出的字符串,例如“Group1,Group2,Group3”。我的参数是一个字符串列表,例如“Group3”、“Group4”、“Group5”。 在这种情况下,需要检索具有“Group1, Group2, Group3”的文档,因为“Group3”包含在该字段中。

类似于 SQL“IN”,但我没有找到查询此类条件的方法。 问题是 Solr 不允许通配符作为第一个查询。

这个问题有什么解决办法吗? 非常感谢!

【问题讨论】:

  • 我不确定你的问题。使用“q={!lucene}*:*&fq={!lucene q.op=OR}groupField:(Group3 Group4 Group5)”有什么问题
  • 同意并且 OP 需要确保 Solr 中以逗号分隔的字段是标记化的或多值的。我个人认为后一种选择(多值字符串)更好。

标签: java solr lucene solr-query-syntax


【解决方案1】:

您是否确定您在架构中使用的列的类型是:

<fieldType name="text_country" class="solr.TextField" positionIncrementGap="100">

而不是:

<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>

【讨论】:

  • 感谢您对我的启发!我使用空格而不是逗号来分隔组。然后查询 'groups:Group1 OR Group2' 有效!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 1970-01-01
  • 2014-09-21
  • 2017-08-07
相关资源
最近更新 更多