如何在网站中实现搜索功能? [关闭]

2023-12-25

我想为一个网站实现搜索功能(假设它与SO类似)。我不想用谷歌搜索类似的东西。

我的问题是:

我该如何实施?

我知道有两种方法:

  1. 当用户提出查询时,搜索应用程序中的所有数据库。
  2. 索引我拥有的所有数据并将其存储在其他地方并从那里查询(就像谷歌所做的那样)。

谁能告诉我该走哪条路?优缺点都有什么?

更好,有没有更好的方法来做到这一点?


使用Lucene,
http://lucene.apache.org/java/docs/ http://lucene.apache.org/java/docs/

Apache Lucene 是一个完全用 Java 编写的高性能、功能齐全的文本搜索引擎库。该技术几乎适用于任何需要全文搜索的应用程序,尤其是跨平台的应用程序。

它可以在 java 和 .net 中使用。它也以 zend 框架模块的形式在 php 中提供。

Lucene 会做你想要的事情(对搜索项建立索引),你必须跟踪 lucene 索引,但就性能而言,它比数据库搜索要好得多。顺便说一句,SO 搜索由 lucene 提供支持。 :D

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在网站中实现搜索功能? [关闭] 的相关文章

  • Elasticsearch 中的嵌套与对象

    有人可以解释 Elasticsearch 文档中 对象 和 嵌套 字段之间的区别吗 我知道默认情况下字段被定义为对象 我还知道我可以用这样的点访问对象字段 my field name my field title 等 对象的文档 http
  • 实时搜索错误

    我正在获取用户偏好和角色 一切正常并且数据接收正确 默认值放置在单选按钮上以突出显示用户当前拥有的选项 我正在使用 Antd Design Table 组件 问题 当我将用户首选项更改为打印文档时 它确实通过数据库的状态成功更改了它 但是现
  • java:在目录和子目录中根据文件名搜索文件

    我需要根据目录树中的名称查找文件 然后显示该文件的路径 我发现了类似的东西 但它根据扩展名进行搜索 谁能帮助我如何根据我的需要重新编写这段代码 谢谢 public class filesFinder public static void m
  • Android 搜索界面未提交查询

    我按照官方教程实现了一个搜索界面 搜索小部件 搜索界面 http developer android com training search setup html密切 一切看起来都不错 但我无法提交搜索查询 当我单击键盘上的 发送 按钮时
  • 如何使用KDTrees实现最近邻搜索?

    所以 我正在实施一个KD Tree http en wikipedia org wiki Kd tree进行最近邻搜索 我已经构建了树部分 但我认为我没有完全理解搜索部分 关于遍历树来搜索邻居 维基百科文章如下 Starting with
  • 如何使用 Ansible when 条件在文件中搜索字符串

    我有一个变量中用 n 分隔的搜索字符串列表listofips 我想在文件中搜索该字符串hello csv在我的下面playbook dir 我可能遇到一些语法问题 我不确定 但下面是我尝试过的 set fact listofips 10 0
  • Powershell 错误:方法调用...不包含名为“replace”的方法

    我想使用 PowerShell 搜索并替换 xml 文件中的字符串 我试过这个 gc d test xml replace 1234 xxxx sc d test xml 这对于我的 test xml 文件效果很好 我的 test xml
  • 如何使用 django 过滤器 icontains 获取多个字段

    我正在尝试将查询搜索与所有模型字段进行比较 但我不知道如何在多个字段中执行此操作 这是我的代码 expense Expense objects filter user request user id order by date q requ
  • Elasticsearch 关于“空索引”的查询

    在我的应用程序中 我使用了几个elasticsearch索引 它们在初始状态下不包含索引文档 我认为这可以称为 空 该文档的映射是正确且有效的 该应用程序还有一个包含实体的关系数据库 这些实体可能具有在 elasticsearch 中关联的
  • 实现快速 Javascript 搜索?

    基本上 我有一个带有文本框的页面和 ul 列在其下面 这 ul 由用户的朋友列表填充 用户开始在文本框中输入朋友的名字 例如按 r 我想立即更新 ul 每次按键仅显示名字以 R 开头的朋友 例如 Richard Redmond Raheem
  • 在 JavaFX 中搜索 TableView 列表

    如何在 TableWie 中查找记录 例如通过 ID 并选择创建的行并将其放在 Java 8 JavaFX 中的屏幕中间 您可以使用以下方式搜索元素 int searchId table getItems stream filter ite
  • 在一个后台为MYSQL的网站上集成搜索

    我有一个位置搜索website http www jammulinks com对于一个城市 我们首先收集该城市所有可能类别的数据 如学校 学院 百货商店等 并将其信息存储在单独的表中 因为每个条目除了名称 地址和电话号码外都有不同的详细信息
  • Mono Android 中的搜索对话框

    我正在尝试根据此处的文档在 Mono Android 应用程序中实现搜索对话框 http developer android com guide topics search search dialog html http developer
  • WordPress 自定义帖子类型未显示在搜索结果中

    我在 WordPress 中遇到自定义帖子类型 测验 和搜索的问题 自定义帖子类型未显示在我的搜索结果页面中 我的搜索结果中仅显示默认的帖子内容 以下是我使用的代码 函数 php函数create posttype register post
  • android 多关键词搜索

    我的应用程序包含搜索功能 它将搜索数据库内的内容 我的搜索的弱点是 我只能使用一个标签进行搜索 例如我只能搜索 猫 它会返回我的数据库中包含 猫 一词的内容 因为我正在使用LIKE在 select 语句期间进行查询 如何使用多个标签进行搜索
  • 在 Meteor 应用程序中实现 MongoDB 2.4 的全文搜索

    我正在考虑向 Meteor 应用程序添加全文搜索 我知道 MongoDB 现在支持此功能 但我对实现有一些疑问 启用文本搜索功能的最佳方法是什么 textSearchEnabled true 在 Meteor 应用程序中 有没有办法添加索引
  • 在 .csv 文件中搜索 C 中的名称匹配项

    我目前有一个 csv 文件 其中包含三个字段 用户 密码 类型 例如 我的文件如下所示 michael sun123 user joseph sierra7 user isaac apple2 sysop 我想从这样的文件中读取并检查用户
  • REST api 可以通过两个 HTTP 方法公开吗?

    问题是我们有一个复杂的搜索 api 查询字符串 并且希望让用户可以方便地使用 body 所以我们希望同时允许 GET 和 POST 或 PUT 我知道 对于搜索是否为只读操作存在争论 并且根据 REST 标准 它应该只能是 GET 据我了解
  • Bing 图像搜索 API 按图像大小过滤

    我正在使用 jsonp 和 jquery ajax 来使用 Bing 图像搜索 API 我能够检索搜索结果 但我无法找到按图像大小过滤结果的方法 我在文档中找不到任何与此相关的内容 有谁知道是否有一种方法可以按图像大小过滤结果或对此进行任何
  • 将默认搜索文本添加到搜索框 html

    我正在努力将 搜索 文本添加到搜索框 我正在努力实现 onfocus 消失文本 And onblur 重新出现文本 到目前为止 我已经实现了这一点 但我必须将其硬编码为 html eg

随机推荐

  • 如何找出哪个 Rust 依赖项添加了动态链接库

    我有一个相当大的项目 有很多依赖项 我希望生成的二进制文件使用尽可能少的动态链接库 我刚刚检查了生成的二进制文件并看到 ldd target debug foo libssl so 1 1 gt lib x86 64 linux gnu l
  • 使用python解析JSON以根据条件获取值

    我是 python 新手 尝试解析 json 文件并根据条件获取所需字段 例如 如果 status true 则 打印姓名 json文件 id 12345 name London active true status true versio
  • 检查蓝牙状态 - Swift 4

    我在 Xcode 中遇到蓝牙问题 我找不到关于如何检查蓝牙是否打开的好解决方案 我想要的就是这个 我在网上搜索了一些解决方案 但没有任何对我有用 关于如何检查蓝牙有什么想法吗 我导入了 CoreBluetooth 类并编写了这行代码 if
  • 如何从 Swift 中的字符串中删除引号?

    我正在尝试删除 Swift 中的引号String就像是 Hello 这样斯威夫特String只是 Hello 你可以简单地使用 Swift 1 var str String Hello print str Hello print str s
  • 角度4-在一个打开的选项卡中注销时在所有选项卡中自动注销

    我想在一个打开的选项卡中注销时自动从所有打开的选项卡中注销 我在登录时将 jwt 令牌设置为 localStorage 并在注销时删除该令牌 如何使用存储事件从所有打开的选项卡中注销 您可以在存储上添加事件侦听器 如下所示 window a
  • 如何在java中生成XML(以字符串表示形式)

    我定义了一个java类 但只需要将该类的一些字段输出到XML中 返回的类型必须是 String 我首先选择了使用 StringBuffer 的最简单方法 但是 当我尝试处理输出字符串表示时 它失败了 我认为这很可能是因为输入中有些字符没有以
  • 在C中循环中重新声明数组

    当循环重复时 在循环中声明的数组不会设置为零吗 我有一个数组并以这种方式使用它 while i
  • C++0x 草案中的一点:n3290

    N3290 ISO 标准草案 3 4 1 12 中的一点 在查找中使用的名称期间常量表达式 of an 枚举数定义 之前声明的枚举器枚举的可见 并隐藏在包含该枚举的块 类或命名空间范围中声明的实体的名称枚举说明符 这是添加的新点 任何人都可
  • HTML5 视频:检测时间线的拖动

    我想知道是否有一种完全可靠的方法可以知道用户何时拖动 HTML5 视频的时间线 到目前为止 我一直绑定到 timeUpdate 但尚不清楚 currentTime 是否由于拖动而增加 或者只是由于视频播放而增加 谢谢 我知道MediaEle
  • H2数据库从1.4.200升级到2.0.204后集成测试出现问题

    最近我升级了H2数据库在我们的SpringBoot 2 5 8来自版本的项目1 4 200 to 2 0 204 它仅用于测试目的 对于生产 我们使用PostgreSQL 12 9 好像升级后有些词变成了关键词H2数据库例如 day val
  • 查询生成器/DQL 不适用于 INNER JOIN - 语法问题

    我知道我这里有语法问题 但我无法弄清楚 我正在尝试对 5 个表进行 SELECT 和 INNER JOIN 但 Symfony 抱怨 JOIN 中的实体在定义之前就被使用了 实际错误如下 Semantical Error line 0 co
  • symfony2 学说 expr 子查询:错误:参数号无效

    试图获得用户喜欢的状态 public function getLikedStatuses User user qb this gt em gt createQueryBuilder qb gt select s id gt from Wal
  • 匹配列表中至少两个单词的正则表达式

    我有一个单词列表 foo bar baz 我想编写一个正则表达式来匹配至少包含其中两个的字符串 例如 foo baz 应该匹配同时 ba foo z 不应该 显而易见的解决方案 foo bar baz foo bar baz 有效 但我觉得
  • JCL 错误 - “$HASP165 IBMUSERW ENDED AT SVSCJES2 - JCL ERROR CN(INTERNAL)”

    我正在尝试使用实用程序 DFHWS2LS 创建 CICS Web 服务请求程序 IBM 红皮书或指南中提到的第一步是在 JCL 中运行它 我在提交 JCL 时遇到了这个问题 我做错事了 无法弄清楚什么 任何有关此问题的帮助将不胜感激 IBM
  • 让 onClick 事件每次点击时执行不同的操作?

    我的表格中有 3 列 每列顶部都有一些文本 下面有一个图像 我拥有这样的功能 当有人单击 3 列之一中的图像时 它会放大该列 并使用 onClick 事件删除其他列 但是 我希望当我第二次单击图像时 它会带回其他列 我遇到的问题是弄清楚如何
  • 一对多 SVM 中的 10 倍交叉验证(使用 LibSVM)

    我想在我的系统中进行 10 倍交叉验证一对一 支持向量机 http en wikipedia org wiki Support vector machineMATLAB 中的分类 我试图以某种方式混合这两个相关的答案 libsvm 中的多类
  • 添加行时如何为 Angular ui-grid 设置动画

    我有一个 Angular UI 网格元素 我定期在数据数组的前面添加新项目 我一次只添加一些 例如 1 到 5 个新项目 我希望 UI 网格能够为添加的新行添加动画效果 现在 行会立即添加 这使得它变得紧张 我想要将新行添加到动画中 以便
  • 如何将两个向量相乘并得到一个矩阵?

    在numpy运算中 我有两个向量 假设向量A是4X1 向量B是1X5 如果我执行AXB 它应该产生一个大小为4X5的矩阵 但我尝试了很多次 进行了多种重塑和转置 它们要么引发错误说未对齐 要么返回单个值 我应该如何得到我想要的矩阵的输出乘积
  • 如何向 CouchDB (http://.couchone.com/) 执行 Ajax 请求

    我正在尝试创建一个简单的 AJAX 通过 jQuery 请求 http 您的用户名 couchone com 几乎与我在本地主机上安装了 couchdb 一样 如果我去http yourusername couchone com 通过浏览器
  • 如何在网站中实现搜索功能? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi