I need to build Lucene.NET or SOLR with ASPDNSF, With XMLPACKAGES. So any one of you have any idea to do so ? An idea can help me to meet my needs.
Also is there any other way - which helps to improve the searching of 200k+ products on my application ?
Thank You,
dL
FULL DISCLOSURE: We are the maker of SmartSearch, Search for AspDotNetStorefront.
Todate I have not come across a marketed Solr solution for AspDotNetStorefront. We started out heading down that path in 2007 and in the end didn't want to have to have the mixed (apache, iis) environments and turned to Lucene.net to to write our own IR for AspDotNetStorefront. We needed to be able to search hundreds of thousands of products. We have since grown our solution well beyond what lucene.net can alone provide.
As far as managing that many products there are a handful of information retrieval options out there that work with storefront. Here are a handful saving the best for last ;)
SERVICES:
Nextopia http://nextopia.com/ecommerce-site-search-aspdotnetstorefront.html
SLI Systems http://www.sli-systems.com/solutions/site-search
I know services can run around $1,000 per year for search results only, if you want it to power your navigation it goes 10 fold in price per year for lower volume sites.
HOST YOUR OWN: aspdotnetstorefront addons.
Compunix xSearch http://www.aspdotnetstorefront.com/p-961-xsearch-extreme-search-for-aspdotnetstorefront.aspx
Morrison Consulting Smart Search for AspDotNetStorefront http://store.morrisonconsulting.com/p-5-moco-smart-search-for-aspdotnetstorefront.aspx
Smart Search is much more than just search, we power the entire browsing experience with it as AspDotNetStorefront itself starts slowing down beyond 100k products.
Related
I am learning flutter is really a good technology to build mobile apps ,my project is an e-commerce app,but I am confused about which route I will take for back-end. I read about Firebase and how its good but I read also its limited by 200 users concurrently on a real-time database so it will not be a good option so the research led me to express.js"Node.js" + SQL or MongoDB \ Laravel + SQL, get in mind that I have a good experience with men stack (Express with MongoDB) but I hear that MongoDB is too expensive to be host also I need to know if MongoDB can be a great deal in a free cluster or not with my e-commerce app .
If you have good experience in Express you probably go with it. And if you are not ok with MongoDb, Specially a paid version, then you definitely go with SQL. But it will be a bit complex than MongoDB and take extra time for you to manually control your CRM database for E-commerce Application.
On the other hand MySQL has no limit on the number of databases. The underlying file system may have a limit on the number of directories.
MySQL has no limit on the number of tables. The underlying file system may have a limit on the number of files that represent tables. Individual storage engines may impose engine-specific constraints. InnoDB permits up to 4 billion tables. This will give SQL a plus point at this stage.
But laravel is also a good technology I am not so familiar with it. so I cant suggest it.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
I am currently on design phase of a MMO browser game, game will include tilemaps for some real time locations (so tile data for each cell) and a general world map. Game engine I prefer uses MongoDB for persistent data world.
I will also implement a shipping simulation (which I will explain more below) which is basically a Dijkstra module, I had decided to use a graph database hoping it will make things easier, found Neo4j as it is quite popular.
I was happy with MongoDB + Neo4J setup but then noticed OrientDB , which apparently acts like both MongoDB and Neo4J (best of both worlds?), they even have VS pages for MongoDB and Neo4J.
Point is, I heard some horror stories of MongoDB losing data (though not sure it still does) and I don't have such luxury. And for Neo4J, I am not big fan of 12K€ per year "startup friendly" cost although I'll probably not have a DB of millions of vertexes. OrientDB seems a viable option as there may be also be some opportunities of using one database solution.
In that case, a logical move might be jumping to OrientDB but it has a small community and tbh didn't find much reviews about it, MongoDB and Neo4J are popular tools widely used, I have concerns if OrientDB is an adventure.
My first question would be if you have any experience/opinion regarding these databases.
And second question would be which Graph Database is better for a shipping simulation. Used Database is expected to calculate cheapest route from any vertex to any vertex and traverse it (classic Dijkstra). But also have to change weights depending on situations like "country B has embargo on country A so any item originating from country A can't pass through B, there is flood at region XYZ so no land transport is possible" etc. Also that database is expected to cache results. I expect no more than 1000 vertexes but many edges.
Thanks in advance and apologies in advance if questions are a bit ambiguous
PS : I added ArangoDB at title but tbh, hadn't much chance to take a look.
Late edit as of 18-Apr-2016 : After evaluating responses to my questions and development strategies, I decided to use ArangoDB as their roadmap is more promising for me as they apparently not trying to add tons of hype features that are half baked.
Disclaimer: I am the author and owner of OrientDB.
As developer, in general, I don't like companies that hide costs and let you play with their technology for a while and as soon as you're tight with it, start asking for money. Actually once you invested months to develop your application that use a non standard language or API you're screwed up: pay or migrate the application with huge costs.
You know, OrientDB is FREE for any usage, even commercial. Furthermore OrientDB supports standards like SQL (with extensions) and the main Java API is the TinkerPop Blueprints, the "JDBC" standard for Graph Databases. Furthermore OrientDB supports also Gremlin.
The OrientDB project is growing every day with new contributors and users. The Community Group (Free channel to ask support) is the most active community in GraphDB market.
If you have doubts with the GraphDB to use, my suggestion is to get what is closer to your needs, but then use standards as more as you can. In this way an eventual switch would have a low impact.
It sounds as if your use case is exactly what ArangoDB is designed for: you seem to need different data models (documents and graphs) in the same application and might even want to mix them in a single query. This is where a multi-model database as ArangoDB shines.
If MongoDB has served you well so far, then you will immediately feel comfortable with ArangoDB, since it is very similar in look and feel. Additionally, you can model graphs by storing your vertices in one (or multiple) collections, and your edges in one or more so-called "edge-collections". This means that individual edges are simply documents in their own right and can hold arbitrary JSON data. The database then offers traversals, customizable with JavaScript to match any needs you might have.
For your variations of the queries, you could for example add attributes about these embargos to your vertices and program the queries/traversals to take these into account.
The ArangoDB database is licensed under the Apache 2 license, and community as well as professional support is readily available.
If you have any more specific questions do not hesitate to ask in the google group
https://groups.google.com/forum/#!forum/arangodb
or contact
hackers (at) arangodb.org
directly.
Neo4j's pricing is actually quite flexible, so don't be put away by the prices on the website.
You can also get started with the community edition or personal edition for a long time.
The Neo4j community is very active and helpful and quickly provide support and help for your questions. I think that's the biggest plus besides performance and convenience. I
n general using a graph model
Regarding your use-case:
Neo4j is used exactly for this route calculation scenario by one of the largest logistic companies in the world where it routes up to 4000 packages per second across the country.
And it is used in other game engines, like here at GameSys for game economy simulation and in another one for the routing (not in earth coordinates but in game-world-coordinates using Neo4j-Spatial).
I'm curious why you have only that few nodes? Are those like transport portals? I wonder where you store the details and the dynamics about the routes (like the criteria you mentioned) are they coming from the outside - in memory state of the game engine?
You should probably share some more details about your model and the concrete use-case.
And it might help to know that both Emil, one of the founders of Neo4j and I are old time players of multi user dungeons (MUDs), so it is definitely a use-case close to our heart :)
I'm working with an enterprise client right now that makes use of the Catalog Events features in Magento. For those not familiar, that means that they have product categories that are only available to customers between specific dates.
I am working on providing a good staging/testing environment for them, which grabs (and anonymizes) all the site data daily to give them an up-to-date playground. One of the things that I want to do as part of this is to allow them to fast-forward to a future date and see what the site will look like on that date (sales, events, holiday designs, etc).
Does anyone know of a clean way to fool Magento into running everything as if we are currently on some other date? I don't think that changing server time is a well-extensible solution (there are multiple folks testing on this machine, plus that reeks of a hack), so the optimal answer would even be localizable to a particular user session.
Have you considered virtualization for this. I routinely try and use it for testing and even dev environments. Yes, changing server time is a hack but in a VM that is trivial and you can control what you need, rollback state, etc. I know it is not quite what you have been thinking of; as elegant, etc., but it may meet your clients needs.
There are a lot of VM options (VMWare, VirtualBox, Parallels). If you are more enterprise focused then ESX or ESXi (if you don't have a big budget). Also HyperV if you are a MS shop or XenServer.
I was trying to analyze the trend about companies leaving their own custom built solution in favor of the standard CMS solutions such as Drupal, Joomla and DotNetNuke etc. While I can find many stories about medium and large organizations leaving their custom solution for Drupal/Joomla etc, I cannot find any reference where organizations are leaving prebuilt CMS's/Frameworks to go custom again. Is this not happening at all or it's just a matter of not being properly documented?
Thank you.
Imran.
I can't think of a situation where a company has abandoned an in-house developed CMS in favor of re-developing a CMS on their own.
Everything I'm familiar with involves leaving a hand rolled CMS solution in favor of a commercial/open source solution.
Well i can imagine that while most companies prefer homebrewn solutions for some of them or in certain scenario's an open source or commercial alternative might fill their needs.
In case we at our work need to set up a blog we'll most likely choose wordpress, we know it, it does what it needs to do and does it good. Customization isn't a big deal but out of the box it works too.
For larger projects we always use our own CSM built with our own framework, that is what we know best.
So to answer your question, I still have to see the first company going from existing CMS to custom built but i'm fairly certain there are alot doing both.
Looking at it just from an engineering standpoint -- a commercial CMS company, with 50 full time engineers, puts in about 100k hours of engineering effort annually into managing and developing products. A homegrown solution typically has a small team of engineers assigned to manage and develop it, often also balancing other projects & responsibilities. Let's say the homegrown solution has a team of 4 people, working part time (20 hours) a week, which is about 4k hours annually into managing and developing the product.
That's 100k vs 4k hours of engineering in 1 year.
Also consider, for the homegrown solution, most of the first year's 4k hours will be spent recreating basic content management that has been written 100 times over, e.g. permissioning, workflow, approval processes, etc.
From a business standpoint, businesses want to focus on their core competencies. Unless your core competency is content management, makes no sense to build a homegrown CMS from scratch, and companies largely are not doing this, or moving away from them if they have in the past.
We need a good CMS that supports data clustering (managing and storing data on different servers). By "good" , I mean : reliable , minimum bugs , the faster the better. (Oh , and it should make coffee :) )
If you want everything and the kitchen sink plus clustering/scaling support, I'd say Plone. Very big community, written in Python, uses the Zope stack so it has a built in application server. Etc, etc. I suggest taking a look at it.
Yes … kitchen sink + community + support: Plone. Development heading very much in the right direction.
Plone is in some ways a different creature from many other systems. Depending on the environment, ultra-high performance may require some attention but in the community there's great expertise to steer any attention that may be required.
http://plone.org/support | Chat Room is a great venue for diverse and honest advice on this subject. We regularly steer people away from Plone -- when some other system will better suit their needs.
I agree, and I think that you need to look for software to fit your need. I have a few sites that only get minimal traffic that run on WordPress, but I also admin a site that runs Joomla and gets reliable amounts of traffic.
Also, Joomla has a wonderfully customizable interface with extensions, plugins, themes and a fairly easy to use administration tool.
I am not sure about "Performance-oriented" means for you. There are sites with Drupal and Joomla that receives million of visits month after month, and do not need special configurations like data clustering.
I think you must ask yourself if you need all you said.
For reliability, and no bugs or minimum bugs i can stand for Joomla.
I think the performance is a function of the hardware.
When you get to data clustering levels, your better off doing some real testing of CMS systems.
Most of the bigger names support a lot of things.
MS CMS Server, DotnetNuke
Anything used by really large shops should work.