jessebenson / service-fabric-indexing Goto Github PK
View Code? Open in Web Editor NEWAdds support for automatic indexing of reliable collections. Supported indexing is filters (exact value matches) and full-text search.
License: MIT License
Adds support for automatic indexing of reliable collections. Supported indexing is filters (exact value matches) and full-text search.
License: MIT License
After add index into a Dictionary with old data, this index can generate indexed data for old data.
Or can rebuild indexed data for whole data include old data and new data.
I can set FilterableIndex just have one filter to one key
Hi - thanks for taking a stab at the indexing functionality which should have ideally been a part of SF packages directly. Here is my understanding based on going over your code.
Here is a scenario where the current implementation on the package might not work
using (ITransaction tx = ..)
{
1. Update indexed dictionary
2. Something causes an exception
3. tx.CommitAsync is not called
}
Based on my reading of the code,
Hi,
It would be interesting to add in the documentation information about how to work with indexes and partitions. Do you have any initial idea of what would be a good pattern?
Thanks in advance.
Kind Regards,
José.
It would be nice to be able to use null values inside the index. For example, if I'm indexing on a string, null values is often a normal case. I don't need to filter by them necessarily, but right now i have to turn all null strings to empty strings or I get exceptions.
When add a lot of data into a collection with 5 indexes
about 8000+, I get a error:
System.InvalidOperationException: Transaction 131929400802878326 is committing or rolling back or has already committed or rolled back
at Microsoft.ServiceFabric.Replicator.TransactionBase.ThrowIfTransactionIsNotActive()
at System.Fabric.Store.TStore`5.AddOrUpdateAsync(IStoreWriteTransaction transaction, TKey key, Func`2 addValueFactory, Func`3 updateValueFactory, TimeSpan timeout, CancellationToken cancellationToken)
at Microsoft.ServiceFabric.Data.Collections.DistributedDictionary`2.AddOrUpdateAsync(Transaction tx, TKey key, Func`2 addValueFactory, Func`3 updateValueFactory, TimeSpan timeout, CancellationToken cancellationToken)
at ServiceFabric.Extensions.Data.Indexing.Persistent.ReliableIndexedDictionary`2.OnAddAsync(ITransaction tx, TKey key, TValue value, TimeSpan timeout, CancellationToken token) in
this issue maybe relate to https://github.com/Azure/service-fabric-issues/issues/435
And I have a workaround ideas :
First provide a BulkInsert method , this method pause adding data into index temporarily
Then rebuild index for new data
Of course, this workaround need this feature: #4
Do you plan to provide support for typical natural language processing utilities like stemmer, tokenizer, thesaurus for different languages in your full text index implementation or is it more like a PoC?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.