Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何编写相关搜索程序_Java_Android_Full Text Search - Fatal编程技术网

Java 如何编写相关搜索程序

Java 如何编写相关搜索程序,java,android,full-text-search,Java,Android,Full Text Search,我刚刚在Android上编写了一个程序,可以接收标题的字符串输入,以更改uri,从而检索电影中的各种信息。但是,现在搜索的问题是,我必须完全正确地获取名称才能获得成功,因为我正在根据字符串输入形成url地址 是否有任何方法可以创建一个程序,我可以对其进行稍微不同的编程,这样我的程序就不需要接收电影的确切标题才能找到电影 比如说,当你搜索“x战警”时,我可以得到电影,但如果我键入“xman”或“xmen”或任何稍有不同的内容,我就无法检索任何信息 还有,有没有办法编程一个相关搜索,这样当我找到x战

我刚刚在Android上编写了一个程序,可以接收标题的字符串输入,以更改
uri
,从而检索电影中的各种信息。但是,现在搜索的问题是,我必须完全正确地获取名称才能获得成功,因为我正在根据字符串输入形成
url
地址

是否有任何方法可以创建一个程序,我可以对其进行稍微不同的编程,这样我的程序就不需要接收电影的确切标题才能找到电影

比如说,当你搜索“x战警”时,我可以得到电影,但如果我键入“xman”或“xmen”或任何稍有不同的内容,我就无法检索任何信息


还有,有没有办法编程一个
相关搜索
,这样当我找到x战警时,我不仅能得到第一个系列,还能得到所有相关系列?如果你们能至少给我指出正确的方向来寻找答案,那就太好了

它比你想象的要复杂。这里有一些粗略的想法,你怎么能做到这一点

  • 您需要自己的词典,以便执行搜索。那本字典将包括你所知道的所有电影。(可进一步讨论优化)
  • 当用户输入字符时,构建一棵树(二叉树)并遍历该树。当然,这棵树只接受字母表,所以您可以忽略任何符号
  • 在任何给定的点上,树的子树可以为您提供所有可能的电影“如果”拼写正确
  • 如果没有拼写正确,请在Ter中输入用户类型,然后输入“r”(表示终止符)。因此,您的树将告诉您,“预期”下一个字母应该是“m”,但它的“r”-假设树中在“r”之后只有一个节点,即m
    这比你想象的要复杂。这里有一些粗略的想法,你怎么能做到这一点

  • 您需要自己的词典,以便执行搜索。那本字典将包括你所知道的所有电影。(可进一步讨论优化)
  • 当用户输入字符时,构建一棵树(二叉树)并遍历该树。当然,这棵树只接受字母表,所以您可以忽略任何符号
  • 在任何给定的点上,树的子树可以为您提供所有可能的电影“如果”拼写正确
  • 如果没有拼写正确,请在Ter中输入用户类型,然后输入“r”(表示终止符)。因此,您的树将告诉您,“预期”下一个字母应该是“m”,但它的“r”-假设树中在“r”之后只有一个节点,即m
    我想试着回答这个问题。您提到您没有底层数据库

    没问题。如果您有电影名称,一种方法可以是前缀树类型的方法。其中,一旦用户键入“X”,则显示以“X”开头的所有标题。这个功能与你在谷歌、YouTube或Netflix上看到的非常相似。 显然,您可以对
    Trie
    的构造施加更多/更少的约束,使其按自己的意愿成形。为什么是Trie vs Array?尝试更快。请继续阅读以了解更多信息


    这是一个关于尝试的例子。实现了一个。一个。

    的实现我将试着尝试一下这个问题。您提到您没有底层数据库

    没问题。如果您有电影名称,一种方法可以是前缀树类型的方法。其中,一旦用户键入“X”,则显示以“X”开头的所有标题。这个功能与你在谷歌、YouTube或Netflix上看到的非常相似。 显然,您可以对
    Trie
    的构造施加更多/更少的约束,使其按自己的意愿成形。为什么是Trie vs Array?尝试更快。请继续阅读以了解更多信息


    这是一个关于尝试的例子。实现了一个。你是在你的设备上使用SQLite数据库还是像IMDB这样的API来做这件事?我在使用API@cricket\u 007你是在你的设备上使用SQLite数据库还是像IMDB这样的API来做这件事?我在使用API@cricket\u 007hmm什么计算机科学领域与学习这类工作有关?是像SQLite这样的东西吗?你可以如果在下面使用DB层,请在搜索中使用
    LIKE
    子句。也许你需要一个for循环来使用
    LIKE
    子句,对
    通配符
    字符串进行排列。嗯,好吧,我想我还不适合这个任务,我是个新手,不知道你在说什么。但是谢谢,我将研究
    LIKE
    wildcard
    hmm什么计算机科学领域与学习这种工作相关?这是像SQLite这样的东西吗?如果你在下面使用DB层,你可以在搜索中使用
    LIKE
    子句。也许你需要一个for循环来使用
    LIKE
    子句,对
    通配符
    字符串进行排列。嗯,好吧,我想我还不适合这个任务,我是个新手,不知道你在说什么。但是谢谢,我会研究
    通配符
    哇,这很酷,我一定会研究这些。多谢各位much@Jchoi没问题。如果你有任何问题,请告诉我。哇,这太酷了,我一定会调查这些。多谢各位much@Jchoi没问题。如果你有任何问题,请告诉我。