Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Search solr模式同义词问题_Search_Solr_Lucene_Multilingual - Fatal编程技术网

Search solr模式同义词问题

Search solr模式同义词问题,search,solr,lucene,multilingual,Search,Solr,Lucene,Multilingual,我使用此配置搜索包含英文产品及其中文等效产品的数据 <fieldType name="text_synm" class="solr.TextField"> <analyzer type="index"> <tokenizer class="solr.CJKTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" s

我使用此配置搜索包含英文产品及其中文等效产品的数据

        <fieldType name="text_synm" class="solr.TextField">
        <analyzer type="index">

        <tokenizer class="solr.CJKTokenizerFactory"/>

            <filter class="solr.SynonymFilterFactory" synonyms="synonym.txt" ignoreCase="true" expand="false"/>
              <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" splitOnNumerics="1" />
               <filter class="solr.LowerCaseFilterFactory"/>

        </analyzer>

        <analyzer type="query">

            <tokenizer class="solr.CJKTokenizerFactory"/>

              <filter class="solr.SynonymFilterFactory" synonyms="synonym.txt" ignoreCase="true" expand="false"/>
              <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" splitOnNumerics="1" />
               <filter class="solr.LowerCaseFilterFactory"/>

        </analyzer>
    </fieldType>

但是当我在solr admin中用中文搜索时,它没有给我结果

我试着用

<tokenizer class="solr.WhitespaceTokenizerFactory"/>

而不是

<tokenizer class="solr.CJKTokenizerFactory"/>

但没有结果 我确保synonym.txt是utf-8编码


这里有什么线索吗?

我想我应该以任何方式编辑apach/conf/server.xml并添加这个

URIEncoding="UTF-8" useBodyEncodingForURI = "false"
URIEncoding="UTF-8"
例如,连接件标记

    <Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI = "false" />

不管怎么说,它在我的情况下不起作用,可能是因为我的synonym.txt文件是中英文混合的,我希望有人能找到更高级的答案

我想你需要编辑你的帖子。。。当您两次键入同一内容时,不清楚您使用了哪种标记器工厂
URIEncoding="UTF-8"