如何搜索折叠的JSON文档

时间:2016-07-19 17:39:22

标签: solr

我将json文档压缩成几个字段:Content,Title和id

id是简单的唯一ID,标题是页面标题,例如“页面标题”,内容是其他所有内容,因此在此上下文中构成网页的元素如此:图像替代文字,页面上的文字等等但是没有HTML只是原始内容。我希望能够跨此内容块执行搜索,所以说它看起来像这样

“图片替代文字来自页面的一些文字”如果我从“页面”搜索“我希望得到一个结果。但是,我没有得到任何。我的内容字段类型设置为包含以下过滤器

        <tokenizer class="solr.WhitespaceTokenizerFactory"/>

    <filter class="solr.StopFilterFactory"
            ignoreCase="true"
            words="lang/stopwords_en.txt"
            />
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
    <filter class="solr.PorterStemFilterFactory"/>

然而,当我用单个单词查询索引时,我得不到任何结果: http://localhost:8983/solr/collection1_shard2_replica1/select?q= 页面&amp; wt = json&amp; indent = true

成为Solr的新人并且倾向于深陷我正在挣扎!

1 个答案:

答案 0 :(得分:0)

第一个问题是这是否已编入索引。在为这些字段加载令牌时,请检查您在Admin UI's Schema Browser screen中看到的内容。如果您没有看到标题和内容字段,则需要查看索引。

如果内容存在,问题是如何搜索它。您需要为默认搜索类型指定默认字段( df 参数),或者使用eDisMax指定字段列表( fl 参数)。您没有在查询中明确地执行此操作,因此必须在/ select处理程序的solrconfig.xml中进行此设置。检查你有什么。

最有可能搜索文字字段。要实现此目的,需要将内容标题字段中的copyField单独或作为glob(文本字段)(的 srcField =&#34; *&#34)即可。请注意,由于您搜索文本字段,因此应用的分析链适用于该字段,而不适用于您复制内容的任何字段。再次,在管理界面中加载文字字段的令牌,以查看它包含的内容。

或者,尝试在上面的查询中添加 df =内容,看看是否得到了一些结果。这也意味着无论默认字段是什么,它都没有填充或没有正确填充。