【发布时间】:2020-07-12 13:49:19
【问题描述】:
我要解决的问题是我有一堆文档,其中包含数学表达式/公式。我想通过公式或表达式搜索文档。
到目前为止,根据我的研究,我正在考虑将数学表达式转换为乳胶格式并作为字符串存储在数据库中(弹性搜索)。
通过这种方法,我可以使用乳胶字符串搜索文档吗?
a2 + b2 = c2 的示例乳胶转换是 a^{2} + b^{2} = c^{2} 。这个字符串可以在弹性搜索中搜索到吗?
【问题讨论】:
-
你能举出这些表达的例子吗?以及你想如何搜索它们
-
例如,我的文档包含以下字符串:我最喜欢的公式是 a2 + b2 = c2。我需要有一种机制,我需要在其中搜索所有文档公式 a2 + b2 = c2。注意:虽然我插入可以将公式转换为乳胶格式。
-
是的,您将能够做到。但是您必须为此字符串配置分析器。查看文档:elastic.co/guide/en/elasticsearch/reference/7.x/analysis.html
-
嗨 Gillespie59,我的字符串将是 a2 + b2 = c2 的乳胶转换,即 a^{2} + b^{2} = c^{2} 。这个字符串也可以搜索吗?
-
如果您使用关键字类型索引字段,则不会分析您的字符串,您将能够搜索确切的字符串 "a^{2} + b^{2} = c^{ 2}”。如果您想搜索两种精确格式,您必须创建一个子字段(或另一个字段),这将是另一种格式,这两个字段应该是关键字。请注意,解决方案是搜索确切的字符串而不是表达式的一部分,它也区分大小写。
标签: elasticsearch indexing lucene latex mathml