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,这是我的solr模式文件代码 <field name="exactName" type="lowercase" indexed="true" stored="false" multiValued="true"/> <copyField source="name" dest="exactName"/> <fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100"

这是我的solr模式文件代码

   <field name="exactName" type="lowercase" indexed="true" stored="false" multiValued="true"/>
    <copyField source="name" dest="exactName"/>
<fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100">
      <analyzer>
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory" />
      </analyzer>
</fieldType>

i指数数据:“Amit Patel”,“印度

现在我想搜索如下数据:

印度

“印度”回答说,搜索很好

如果我想搜索

阿米特·帕特尔

如何搜索这个它给出了一个例外,如果我像那样搜索的话

阿米特+帕特尔


那么我也没有得到“amit patel”请建议我如何实现不区分大小写的精确搜索(带空格)

您实现它的方式应该还可以

规则是,如果只想匹配字段的精确值(但应用了可选过滤器),则可以使用
关键字标记器
。在应用任何筛选器之前,关键字标记器将整个输入作为单个标记保留

索引“Amit Patel”将输出一个标记“Amit Patel”,然后您可以对其应用小写过滤器,使最终结果为“Amit Patel”,最终得到您已经使用的定义:

<analyzer>
  <tokenizer class="solr.KeywordTokenizerFactory"/>
  <filter class="solr.LowerCaseFilterFactory"/>
</analyzer>


记住也要在正确的字段中进行排序。如果您遇到异常,最好从异常开始,然后从异常开始反向工作。您的语法中没有任何内容会根据示例生成异常。

copyField已超出字段定义。。。请再查一遍