2017-03-27 15 views
0

我在Postgres FTS查询中有一长串搜索关键字。查询通过数百个文档并选取包含搜索关键字的文档。在结果中,我需要一个显示与文档匹配的搜索关键字的列,以便它可以用于进一步对文档进行分组。直接来自ts_headline文本的突出显示的匹配不允许这样做,因为突出显示的词汇有许多不同的形式,并且结果不规则。FTS搜索条件作为PostgreSQL中的单独列

利用这种类型的查询

to_tsquery(‘english’, ‘Donald | Mickey | Goofy’) 

我想是这样的结果:

text:        keyword: 
Donald Duck’s house lorem ipsum Donald 
Mickey Mouse lorem impsum   Mickey 
Lorem ipsum goofiness    Goofy 
+0

''StartSel = “”,StopSel = “”,ShortWord = 1000,MinWords = 1,MaxWords = 2,Max_Fragments = 1''用于'ts_headline' [几乎可以做到这一点](http://rextester.com/APDDY16089)。只有有两个相邻的匹配词时,它才会失败。 “MinWords”必须大于“0”,“MaxWords”必须大于“MinWords”,这是一个令人讨厌的限制。 - 我不认为没有'ts_headline'也是不可能的。 – pozs

回答

0
​​