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和索引我的关键字作为索引关键字还包含各种字段,如标题,描述等 现在的问题是,如何通过SOLR查询用关键字搜索自由文本数据 例如: 我有一个关键字为单词1的Solr项目,如果自由文本等于单词1之类的东西,我应该返回这个项目 谢谢。我不确定我是否完全理解了您的问题,但如果您询问solr在查询“bla-bla word 1 bla-bla”时是否会检索文档:“word 1”,则这取决于您的模式 默认运算符是通过模式中的设置定义的

全部

我正在写一个应用程序,我想用一组关键字扫描一些文本。我使用SOLR和索引我的关键字作为索引关键字还包含各种字段,如标题,描述等

现在的问题是,如何通过SOLR查询用关键字搜索自由文本数据

例如:

我有一个关键字为单词1的Solr项目,如果自由文本等于单词1之类的东西,我应该返回这个项目


谢谢。

我不确定我是否完全理解了您的问题,但如果您询问solr在查询“bla-bla word 1 bla-bla”时是否会检索文档:“word 1”,则这取决于您的模式

默认运算符是通过模式中的设置定义的


通常默认运算符是,它将检索文档,但我建议您查看一下。

它取决于在索引数据时使用的字段类型。 FieldType由analyzer和两个analyzer组成。 一个用于查询,另一个用于索引

如果索引分析器具有正确的标记器和过滤器,它将以正确的方式索引键。 查询分析器也是如此

fieldType的一个示例

<fieldType name="text_rev" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
    <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
   </fieldType>