Browse Source

78577 limit snippet length (workaround)

Mao 4 years ago
parent
commit
77a7c97e51

+ 7 - 2
packages/app/src/components/SearchPage/SearchResultList.jsx

@@ -9,6 +9,11 @@ class SearchResultList extends React.Component {
   render() {
   render() {
     return this.props.pages.map((page) => {
     return this.props.pages.map((page) => {
       const pageId = `#${page._id}`;
       const pageId = `#${page._id}`;
+      // TODO : send cetain chars of body (revisionBody) from elastisearch by adding some settings to the query
+      // story: 77515 task : not created yet.
+      let snippet = '';
+      if (page.elasticSearchResultInfo.snippet.length > 40) { snippet = page.elasticSearchResultInfo.snippet.substr(0, 40) }
+      else { snippet = page.elasticSearchResultInfo.snippet }
       return (
       return (
         <li key={page._id} className="nav-item page-list-li w-100 m-0 border-bottom">
         <li key={page._id} className="nav-item page-list-li w-100 m-0 border-bottom">
           <a
           <a
@@ -28,9 +33,9 @@ class SearchResultList extends React.Component {
               <input className="form-check-input my-auto" type="checkbox" value="" id="flexCheckDefault" />
               <input className="form-check-input my-auto" type="checkbox" value="" id="flexCheckDefault" />
             </div>
             </div>
             <div className="d-block">
             <div className="d-block">
-              {/* TODO  77750 place component that takes page.elasticSearchResultInfo.matchedPath here */}
+              {/* TODO  task : 77750 place component here that takes page.elasticSearchResultInfo.matchedPath here */}
               <Page page={page} noLink />
               <Page page={page} noLink />
-              <div className="border-gray mt-5" dangerouslySetInnerHTML={{ __html: page.elasticSearchResultInfo.snippet }}></div>
+              <div className="border-gray mt-5" dangerouslySetInnerHTML={{ __html: snippet }}></div>
             </div>
             </div>
             <div className="ml-auto d-flex">
             <div className="ml-auto d-flex">
               {this.props.deletionMode && (
               {this.props.deletionMode && (

+ 1 - 1
packages/app/src/server/service/search-delegator/elasticsearch.js

@@ -565,7 +565,7 @@ class ElasticsearchDelegator {
 
 
   createSearchQuerySortedByUpdatedAt(option) {
   createSearchQuerySortedByUpdatedAt(option) {
     // getting path by default is almost for debug
     // getting path by default is almost for debug
-    let fields = ['path', 'bookmark_count', 'comment_count', 'seenUsers_count', 'updated_at', 'tag_names'];
+    let fields = ['path', 'bookmark_count', 'body', 'comment_count', 'seenUsers_count', 'updated_at', 'tag_names'];
     if (option) {
     if (option) {
       fields = option.fields || fields;
       fields = option.fields || fields;
     }
     }