ApacheSolr中全文搜索的索引标记文档
ApacheSolr中全文搜索的索引标记文档,solr,full-text-search,markdown,apache-tika,full-text-indexing,Solr,Full Text Search,Markdown,Apache Tika,Full Text Indexing,我正在使用ApacheSolr为降价文档编制索引。 正如您所知,标记基本上是纯文本,带有用于设置粗体和斜体格式的特殊标记。 问题是:如果标记有粗体或斜体格式,则全文搜索不起作用。但是,如果降价文档没有格式元素(粗体、斜体或标题、链接等),则全文搜索可以工作。当标记文档与纯文本相同(即没有单词具有任何标记格式)时,可以对其进行总结 我的结论是,在为文档编制索引之前,我需要将标记转换为纯文本。只有这样,全文搜索才能在所有情况下按预期工作。 我在不同的在线论坛上做了一些搜索和阅读。我想我需要实现一个
我正在使用ApacheSolr为降价文档编制索引。
正如您所知,标记基本上是纯文本,带有用于设置粗体和斜体格式的特殊标记。 问题是:如果标记有粗体或斜体格式,则全文搜索不起作用。但是,如果降价文档没有格式元素(粗体、斜体或标题、链接等),则全文搜索可以工作。当标记文档与纯文本相同(即没有单词具有任何标记格式)时,可以对其进行总结 我的结论是,在为文档编制索引之前,我需要将标记转换为纯文本。只有这样,全文搜索才能在所有情况下按预期工作。
我在不同的在线论坛上做了一些搜索和阅读。我想我需要实现一个自定义分析器。自定义分析器需要首先将标记转换为纯文本,然后对其进行索引。 我认为这种情况与ApacheTika对microsoft文档所做的类似。它解析ms office文档并提取纯文本。 我想我需要做类似的事情。
我认为对于降价文档,我也需要解析并转换为纯文本
我已经找到了一种将降价转换为纯文本的方法 但是,我不确定是否真的需要创建自定义分析器。我读了一些自定义分析器的代码,但它们都使用
标记过滤器
。据我所知,tokenFilters
以令牌为基础对流进行操作。在我的例子中,整个标记
语料库必须转换为纯文本
。因此,请建议一种方法。
我考虑过的另一种方法是首先将标记转换为明文,然后将明文与标记一起保存到磁盘。但是,我想避免这种情况,并在SOLR中处理它。我希望SOLR将其转换为纯文本,然后对其进行索引
自定义分析器
,用于将标记
文档保存到纯文本
?或者是否需要自定义查询解析器
在用点分隔的单词后插入空格,不带空格。我看不出为什么a不能为您提供适当的无标记标记标记(因为它会拆分并删除大多数非字母数字字符)。它会吐出降价语法的哪一部分?@MatsLindh,我发现了问题所在。我只使用了
空白分析器
WhiteSpaceAnalyzer
只是基于空白进行标记,而不是基于标记中的*或##等特殊字符。我看到,对于我的用例-StandardTokenizerFactory
是完美的-正如您所提到的,标记器将打破空白以及非字母数字字符。我已经做了这个改变,现在搜索工作正如期进行。