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
没有html标记的查询solr?_Solr_Solrj - Fatal编程技术网

没有html标记的查询solr?

没有html标记的查询solr?,solr,solrj,Solr,Solrj,我已向Solr发送了以下数据: { "id":"kkk", "name":"<div>book</div>" } { “id”:“kkk”, “名称”:“书” } solr收到数据后,如果搜索“div”,结果不会显示,但搜索“book”时,结果会显示,我该怎么办? 这是我的模式: <field name="name" type="text_html" indexed="true" stored="true"/> <fieldType

我已向Solr发送了以下数据:

{
    "id":"kkk",
    "name":"<div>book</div>"
}
{
“id”:“kkk”,
“名称”:“书”
}
solr收到数据后,如果搜索“div”,结果不会显示,但搜索“book”时,结果会显示,我该怎么办? 这是我的模式:

<field name="name" type="text_html" indexed="true" stored="true"/>

<fieldType name="text_html" class="solr.TextField" positionIncrementGap="100">
    <analyzer>
        <charFilter class="solr.HTMLStripCharFilterFactory"/>
        <tokenizer class="solr.WhitespaceTokenizerFactory" />
        <filter class="solr.LowerCaseFilterFactory" />
        <filter class="solr.StopFilterFactory"
                ignoreCase="true"
                words="lang/stopwords_en.txt"
            />
    </analyzer>
</fieldType>


当我进行索引时,solr只能剥离html标记,如果我想直接向solr发送数据,我如何剥离html标记?

您在字段
name
中看到的是solr查询的结果,而不是solr真正索引的内容

过滤器将删除HTML标记

只有在所有过滤器/标记器都被执行之后,内容才真正被Lucene索引

请看一看,以便更好地了解正在发生的事情

总之,每个字段有两个内容:

  • 一种存储内容(
    stored=“true”
    ),它是传递给索引的源文本(当文档符合查询约束时,它将返回给用户)
  • 一种索引内容(
    index=“true”
    ),它是经过标记/过滤器处理后的源内容,然后用于信息检索部分

好了,在处理后无法修改存储的(源)内容,正如前面所说的,这是字段的源,因此如果您想修改源,只需在提交给Solr之前准备它。

您在字段
名称
中看到的作为Solr查询的结果,并不是Solr真正索引的内容

过滤器将删除HTML标记

只有在所有过滤器/标记器都被执行之后,内容才真正被Lucene索引

请看一看,以便更好地了解正在发生的事情

总之,每个字段有两个内容:

  • 一种存储内容(
    stored=“true”
    ),它是传递给索引的源文本(当文档符合查询约束时,它将返回给用户)
  • 一种索引内容(
    index=“true”
    ),它是经过标记/过滤器处理后的源内容,然后用于信息检索部分

抱歉,没有办法修改存储的(源)处理后的内容,如前所述,这是字段的来源,因此如果您想修改来源,只需在提交给Solr之前进行准备。

直接向Solr发送数据是什么意思?只需使用Solr存储数据而不是索引文件…Solr只分析索引字段。感谢兄弟,我理解使用数据导入处理程序可能会有所帮助ped,但文档对我来说有点难,你有没有exmaple可以使用solr数据导入处理程序来剥离html标记?直接向solr发送数据是什么意思?只需使用solr存储数据而不是索引文件…solr只分析索引字段。感谢兄弟,我明白使用数据导入处理程序可能会有所帮助,但文档对我来说有点难,你有没有exmaple可以使用solr数据导入处理程序来剥离html标记?那么如果我想剥离存储文本中的html标记,我该怎么做?我已经更新了我的答案以反映你的评论,让我知道它是否清晰,如果我想剥离存储文本中的html标记,我该怎么做?我有e为了反映您的评论,更新了我的答案,如果答案清楚,请告诉我