2016-08-03 58 views
-4

对于我的应用程序,我需要从特定关键字所在的段落中检索句子或句子的一部分(如果句子长度很大)当下。如何获取句子或部分,如果其中存在特定的词

条件: 如果关键字是:hello world star 该句子应该包含一个单词(ie.hello,world或star)或“hello world star”。

谢谢。

+0

我已经实现了这样一个逻辑,如果一个单词被传递ie.if“java”被传递,它返回与java语句。 –

+1

好吧,请添加您尝试过的代码。如果你证明你确实付出了一些努力,你会得到更多的结果和帮助。 – basic

+0

对不起,我现在没有代码。明天我可以提供代码,因为我不在我的系统中。 –

回答

0

这很简单,我猜。假设你在索引中有一个字段标题,然后像q = title:(hello world star)那样查询。保留括号内的单词可以做到这一点。这将是100℅的工作。让我知道如果这可以帮助你:)

+0

感谢您的答复。我尝试了上述解决方案。它不工作。 –

+0

Pattern pattern = Pattern.compile(“[^。!?,;] *(”+ key +“)[^。?!] * [。?,!]”); 我正在使用上面的代码。如果我查询索引作为-java Solr,上面的代码将“java solr”作为一个字符串并尝试匹配,但不分别与java和Solr匹配。 –

+0

我认为你需要改变你的字段类型来使我的解决方案工作。您在schema.xml中为这个字段使用了什么fieldType。 –