1
0
mirror of https://github.com/nextapps-de/flexsearch.git synced 2025-09-02 10:23:50 +02:00

MOD update readme

This commit is contained in:
Thomas Wilkerling
2018-03-19 02:06:30 +01:00
parent 49d65fb8c8
commit 5e8d0c6231
2 changed files with 14 additions and 10 deletions

View File

@@ -14,11 +14,14 @@
<h1></h1> <h1></h1>
<h3>World's fastest and most memory efficient full text search library with zero dependencies.</h3> <h3>World's fastest and most memory efficient full text search library with zero dependencies.</h3>
When it comes to raw search speed <a href="https://jsperf.com/compare-search-libraries" target="_blank">FlexSearch outperforms every single searching library out there</a> and also provides flexible search capabilities like multi-word matching, phonetic transformations or partial matching. It also has the __most memory-efficient index__. Keep in mind that updating existing items from the index has a significant cost. When your index needs to be updated continuously then <a href="bulksearch/" target="_blank">BulkSearch</a> may be a better choice. FlexSearch also provides you a non-blocking asynchronous processing model as well as web workers to perform any updates on the index as well as queries through dedicated threads. When it comes to raw search speed <a href="https://jsperf.com/compare-search-libraries" target="_blank">FlexSearch outperforms every single searching library out there</a> and also provides flexible search capabilities like multi-word matching, phonetic transformations or partial matching.
It also has the __most memory-efficient index__. Keep in mind that updating / removing existing items from the index has a significant cost. When your index needs to be updated continuously then <a href="bulksearch/" target="_blank">BulkSearch</a> may be a better choice.
FlexSearch also provides you a non-blocking asynchronous processing model as well as web workers to perform any updates on the index as well as queries through dedicated threads.
Benchmark: Comparison:
- Library Comparison: <a href="https://jsperf.com/compare-search-libraries" target="_blank">https://jsperf.com/compare-search-libraries</a> - <a href="https://jsperf.com/compare-search-libraries" target="_blank">Library Benchmarks</a>
- BulkSearch vs. FlexSearch: <a href="https://jsperf.com/flexsearch" target="_blank">https://jsperf.com/flexsearch</a> - <a href="https://jsperf.com/flexsearch" target="_blank">BulkSearch vs. FlexSearch Benchmark</a>
- <a href="https://rawgit.com/nextapps-de/flexsearch/master/test/matching.html" target="_blank">Relevance Scoring</a>
Supported Platforms: Supported Platforms:
- Browser - Browser
@@ -48,10 +51,10 @@ All Features:
<a name="contextual"></a> <a name="contextual"></a>
#### Contextual Search #### Contextual Search
FlexSearch introduce a new scoring mechanism called __Contextual Search__ which was invented by Thomas Wilkerling, the author of this library. A Contextual Search __incredibly boost up queries to a complete new level__. FlexSearch introduce a new scoring mechanism called __Contextual Search__ which was invented by Thomas Wilkerling, the author of this library. A Contextual Search <a href="https://jsperf.com/compare-search-libraries" target="_blank">incredibly boost up queries to a complete new level</a>.
The basic idea of this concept is to limit relevance by its context instead of calculating relevance through the whole (unlimited) distance. The basic idea of this concept is to limit relevance by its context instead of calculating relevance through the whole (unlimited) distance.
Imagine you add a text block of some sentences to an index ID. Assuming the query includes a combination of first and last word from this text block, are they really relevant to each other? Imagine you add a text block of some sentences to an index ID. Assuming the query includes a combination of first and last word from this text block, are they really relevant to each other?
In this way contextual search also improves the results of relevance-based queries on large amount of text data. In this way contextual search <a href="https://rawgit.com/nextapps-de/flexsearch/master/test/matching.html" target="_blank">also improves the results of relevance-based queries</a> on large amount of text data.
<p align="center"> <p align="center">
<img src="https://rawgithub.com/nextapps-de/flexsearch/master/contextual_index.svg"> <img src="https://rawgithub.com/nextapps-de/flexsearch/master/contextual_index.svg">

View File

@@ -148,7 +148,7 @@ var text_data = "LIBRARY OF THE FUTURE (R) First Edition Ver. 4.02 Gulliver's Tr
var data = []; var data = [];
var queries = []; var queries = [];
(function(){ setTimeout(function(){
var start = 0; var start = 0;
var new_data = text_data.split('. '); var new_data = text_data.split('. ');
@@ -253,14 +253,15 @@ var text_data = "LIBRARY OF THE FUTURE (R) First Edition Ver. 4.02 Gulliver's Tr
payload[i] = {id: i, content: data[i]}; payload[i] = {id: i, content: data[i]};
} }
console.time('fuse'); // Note: fuse adds async
//console.time('fuse');
var fuse = new Fuse(payload.slice(0), { var fuse = new Fuse(payload.slice(0), {
keys: ['id', 'content'], keys: ['id', 'content'],
id: 'id' id: 'id'
}); });
console.timeEnd('fuse'); //console.timeEnd('fuse');
var jssearch = new JsSearch.Search('id'); var jssearch = new JsSearch.Search('id');
jssearch.addIndex('content'); jssearch.addIndex('content');
@@ -338,7 +339,7 @@ var text_data = "LIBRARY OF THE FUTURE (R) First Edition Ver. 4.02 Gulliver's Tr
} }
} }
})(); }, 50);
</script> </script>
</body> </body>