Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Solr-前缀查询_Solr - Fatal编程技术网

Solr-前缀查询

Solr-前缀查询,solr,Solr,当我使用查询addr:s* 我得到…(这是虚拟数据) 我只想要那些以s开头的记录,但结果中的第二条记录以b开头。您可能正在对地址字段使用文本分析,将单词拆分为多个标记。 在这种情况下,“香蕉阳光”一词可能会被分成多个标记(香蕉、阳光或)。 因此,在s*上搜索将返回结果。 如果不希望拆分,请使用关键字TokenizerFactory和其他筛选器定义新字段类型。e、 g <fieldType name="text_string" class="solr.TextField" sortMissi

当我使用查询
addr:s*

我得到…(这是虚拟数据)


我只想要那些以
s
开头的记录,但结果中的第二条记录以
b
开头。您可能正在对地址字段使用文本分析,将单词拆分为多个标记。
在这种情况下,“香蕉阳光”一词可能会被分成多个标记(香蕉、阳光或)。
因此,在s*上搜索将返回结果。
如果不希望拆分,请使用关键字TokenizerFactory和其他筛选器定义新字段类型。e、 g

<fieldType name="text_string" class="solr.TextField" sortMissingLast="true" omitNorms="true">
  <analyzer>
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory" />
  </analyzer>
</fieldType>


谢谢,这很有效。添加StandardFilterFactory对其他搜索条件也有用吗?您可以根据搜索要求进行检查。您还可以维护字段的不同副本。
<fieldType name="text_string" class="solr.TextField" sortMissingLast="true" omitNorms="true">
  <analyzer>
    <tokenizer class="solr.KeywordTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory" />
  </analyzer>
</fieldType>