Further improved search result snippets

This commit is contained in:
Tom Moor 2018-08-04 22:46:55 -07:00
parent ad2d1a15bb
commit 71830d7c77
4 changed files with 12 additions and 3 deletions

View File

@ -98,9 +98,10 @@ const Title = styled(Highlight)`
`;
const ResultContext = styled(Highlight)`
display: block;
color: ${props => props.theme.slateDark};
font-size: 14px;
margin-top: 0;
margin-top: -0.25em;
margin-bottom: 0.25em;
`;

View File

@ -63,6 +63,7 @@
"url": "git+ssh://git@github.com/outline/outline.git"
},
"dependencies": {
"@tommoor/remove-markdown": "0.3.1",
"@tommoor/slate-drop-or-paste-images": "^0.8.1",
"autotrack": "^2.4.1",
"aws-sdk": "^2.135.0",

View File

@ -5,6 +5,7 @@ import randomstring from 'randomstring';
import MarkdownSerializer from 'slate-md-serializer';
import Plain from 'slate-plain-serializer';
import Sequelize from 'sequelize';
import removeMarkdown from '@tommoor/remove-markdown';
import isUUID from 'validator/lib/isUUID';
import { Collection, User } from '../models';
@ -207,7 +208,7 @@ Document.searchForUser = async (
SELECT
id,
ts_rank(documents."searchVector", plainto_tsquery('english', :query)) as "searchRanking",
ts_headline('english', "text", plainto_tsquery('english', :query), 'MaxFragments=0, MinWords=10, MaxWords=30') as "searchContext"
ts_headline('english', "text", plainto_tsquery('english', :query), 'MaxFragments=1, MinWords=20, MaxWords=35') as "searchContext"
FROM documents
WHERE "searchVector" @@ plainto_tsquery('english', :query) AND
"teamId" = '${user.teamId}'::uuid AND
@ -243,7 +244,9 @@ Document.searchForUser = async (
return map(results, result => ({
ranking: result.searchRanking,
context: unescape(result.searchContext),
context: removeMarkdown(unescape(result.searchContext), {
stripHTML: false,
}),
document: find(documents, { id: result.id }),
}));
};

View File

@ -63,6 +63,10 @@
lodash "^4.2.0"
to-fast-properties "^2.0.0"
"@tommoor/remove-markdown@0.3.1":
version "0.3.1"
resolved "https://registry.yarnpkg.com/@tommoor/remove-markdown/-/remove-markdown-0.3.1.tgz#25e7b845d52fcfadf149a3a6a468a931fee7619b"
"@tommoor/slate-drop-or-paste-images@^0.8.1":
version "0.8.1"
resolved "https://registry.npmjs.org/@tommoor/slate-drop-or-paste-images/-/slate-drop-or-paste-images-0.8.1.tgz#4d94b5c1dd2de109546ee1f38a1e4a18df078c1e"