我需要有关如何处理项目的帮助,并希望从一开始就得到正确的建议,而不是走到路上,不得不进行大转弯。
我正在制作的应用程序(使用Ionic /(AngularJS)和Parse)将成为练习的搜索引擎。目前的运动数据集超过4000,并将继续增长。为了让用户找到他们想要的练习,将会有两种搜索方法:
使用Angular exerciseTitle
对ng-filter
进行文字搜索。目前这非常有效。
用户选择过滤器,就像在亚马逊上选择电子产品>相机>配件>例如。当他们检查过滤器时,它们会被添加到搜索中,并缩小搜索结果范围。之所以使用它是因为许多练习都有不同的名称,因此许多标签/过滤器可以大大缩小范围,用户可以在不必知道确切exerciseTitle
的情况下找到事物。
我目前在应用程序中工作,通过将过滤器名称推送到数组,然后使用该数组单词过滤数据。
我正在编辑我们的数据集,并希望确保它可以被搜索到'和“可过滤的'尽可能。一个建议是每次练习tags
。例如,练习'深蹲'可能有以下分类和标签。
身体部位 "腿","下半身"," Quadriceps"
练习类型 "力量","站立","加权"
设备 "哑铃"
典型的练习在JSON中的结构如下。
{[
"exerciseTitle":"Walking Lunge with Resistance Band Above Head",
"exId" : "23jhgb56ha",
"originalId" : "12",
"masterImage" : "31",
"images" : ["31","32","33"],
"description" : "Holding the resistance band above your head take a step forward from the standing position and drop the knee of the rear leg down to the floor",
"primaryMuscleGroup" : "Quadriceps",
"secondaryMuscleGroup" : "Glutes",
"equipment" : "Resistance Band",
"functionalMovement" : "Lunge",
"relatedExercises" : ["23","25"],
]}
问题1。 将标签添加到数据集时,我应该将它们分成分类和标签,还是只需添加与该练习相关的标签数组。
问题2。 如何仅使用AngularJS中某个分类中的标记进行过滤。
问题3。 有关如何处理此项目的任何建议,以确保搜索100%完美,用户甚至可以找到系统中最复杂的练习。
非常感谢
答案 0 :(得分:1)
我在我的blog示例中了解自定义过滤器如何使用样本小提琴在多个属性上工作。
http://andreaskarz.blogspot.ch/2014/03/mehrere-filter-auf-ng-repeat-anwenden.html
答案 1 :(得分:1)
1,2,3我会在JSON中将标签添加为单独的字段,因此每次都不需要通过内部数组(它会稍快一些)
我还会考虑在客户端上搜索数据库。如果您的数据集太大,迟早会遇到性能问题。此搜索也可以生成分页对象,因此您在站点上的结果不会超过100。请记住,90%的人正在寻找前10个结果。