我在Solr模式中有关键字字段。
<fieldType name="text_keyword" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.SimpleKeywordTokenizerFactory"/>
</analyzer>
</fieldType>
当我尝试使用默认 solr 查询或 dismax 查询搜索此字段时 category:(Mouse Pad)
它创建查询(category:Mouse) AND (category:Pad)
我想知道有没有办法不用空格分隔术语,如果它是关键字字段左右。
添加:我需要SimpleKeywordTokenizerFactory
查询进行分析(没有空格分割的小写),所以raw
和term
查询解析器对我不起作用
您要输入此查询:
category:"Mouse Pad"
查询语法已经提供了一种执行此操作的方法。引号用于短语。括号的含义不同。如果需要,您可以编写自己的查询解析器,但我不建议这样做。
使用 TermQParserPlugin:
{!术语 f=类别}鼠标垫
请注意,不会执行任何分析,因此仅当字段的内部表示形式为"鼠标垫"(带标题大小写)时,此操作才有效。
编辑(2012-04-17):
如果您仍然希望执行分析,您需要做的就是通过在反斜杠前面加上前缀来转义空格:
{!lucene}类别:鼠标\ 垫