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
Solr3.6能支持中文吗?_Solr_Localization_Full Text Search - Fatal编程技术网

Solr3.6能支持中文吗?

Solr3.6能支持中文吗?,solr,localization,full-text-search,Solr,Localization,Full Text Search,我发现它支持很多语言,但不支持中文 更新 我可以用Luke搜索我的数据,请看截图 我试过这个: 加 这是spring data solr的一个bug吗?似乎对中文文本索引的典型分析器实现做了一个改进 中提供了更多的工具,并且是一个很好的中文(以及日语和韩语,因此得名)标记器。 您指的是什么获取支持的语言列表?我猜您希望能够搜索中文文本-除此之外,您是否还想使用Solr?是的,我只是希望中文文本能够被索引和搜索。您好@Tom,您可以发布有关如何创建查询的详细信息吗?上面请求的查询字符串看起来有点奇

我发现它支持很多语言,但不支持中文

更新 我可以用Luke搜索我的数据,请看截图 我试过这个: 加

这是spring data solr的一个bug吗?

似乎对中文文本索引的典型分析器实现做了一个改进

中提供了更多的工具,并且是一个很好的中文(以及日语和韩语,因此得名)标记器。



您指的是什么获取支持的语言列表?我猜您希望能够搜索中文文本-除此之外,您是否还想使用Solr?是的,我只是希望中文文本能够被索引和搜索。您好@Tom,您可以发布有关如何创建查询的详细信息吗?上面请求的查询字符串看起来有点奇怪,
code
q=name:*name:something*…
code
Hi Strobl,我使用spring数据解决方案。我将检查查询字符串,谢谢。我直接使用solr,而不是lucene,事实上,我也没有直接使用solr,我使用的是spring数据solr,所以我没有机会在我的代码中使用api。或者您可以提供我如何在solr中配置SmartChineseAnalyzer和CJKTokenizer?您可以将solr CJKTokenizer Factory简单地设置为
,或者将其设置为使用简体中文分析器,如:
。将
添加到schema.xml,将lucene-smartcn-3.5.0.jar和solr-analysis-extrs-3.5.0.jar复制到SolrApp\lib,索引我的数据并搜索,但什么也得不到。您可能需要手动将该分析器的jar添加到Solr war中。你这样做了吗?
CJKTokenizerFactory
应该是现成的。此外,查看索引的内容可能会使您受益匪浅。这是一个很好的工具。嗨,谢谢你的帮助,请看我更新的帖子,它描述了我所做的。
    <fieldType name="text_chinese" class="solr.TextField">
         <analyzer type="index">
        <tokenizer class="solr.CJKTokenizerFactory"/>
        </analyzer>
    </fieldType>
   <fieldType name="text_chinese" class="solr.TextField">
      <analyzer class="org.apache.lucene.analysis.cn.ChineseAnalyzer"/>
   </fieldType>
 <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.CJKTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>
org.springframework.dao.InvalidDataAccessApiUsageException: Bad Request

Bad Request

request: http://localhost:8180/solr/select?q=name:*name:something* or description:*name:something* or type:*name:something* or mac_address:*name:something* or uri:*name:something* or attrs:*name:something*&start=0&rows=0&wt=javabin&version=2; nested exception is org.apache.solr.common.SolrException: Bad Request

Bad Request

request: http://localhost:8180/solr/select?q=name:*name:something* or description:*name:something* or type:*name:something* or mac_address:*name:something* or uri:*name:something* or attrs:*name:something*&start=0&rows=0&wt=javabin&version=2
    at org.springframework.data.solr.core.SolrExceptionTranslator.translateExceptionIfPossible(SolrExceptionTranslator.java:58)
    at org.springframework.data.solr.core.SolrTemplate.execute(SolrTemplate.java:106)
    at org.springframework.data.solr.core.SolrTemplate.count(SolrTemplate.java:126)
    at org.springframework.data.solr.repository.query.AbstractSolrQuery$CollectionExecution.count(AbstractSolrQuery.java:92)
    at org.springframework.data.solr.repository.query.AbstractSolrQuery$CollectionExecution.execute(AbstractSolrQuery.java:87)
    at org.springframework.data.solr.repository.query.AbstractSolrQuery.execute(AbstractSolrQuery.java:52)
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:313)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
<fieldType name="wc_text" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.ChineseTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0" preserveOriginal="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>

    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.ChineseTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" preserveOriginal="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  </analyzer>
</fieldType