【问题标题】:search engine script - regex, multiple files, line numbers搜索引擎脚本 - 正则表达式、多个文件、行号
【发布时间】:2012-01-16 15:35:53
【问题描述】:

我正在寻找一个搜索引擎脚本,或者搜索引擎可以:

  1. 搜索大量大型文本文件,特别是数百个全文 小说。
  2. 使用正则表达式返回单词和可能的变体。
  3. 给出所有匹配项在文件中的位置,例如行号或字数。
  4. 最好使用 javascript 或 php,因为它们是我唯一擅长的语言,而且我可能不得不处理结果。但我确信我可以咬紧牙关,学习所需的任何语言的语法。
  5. 根据字典过滤搜索结果数组以查找专有名词(这可能不包括搜索引擎)

上下文和细节(有点长,只是有点重要):

我有一个朋友正在写博士论文,寻找 19 世纪小说中表亲婚姻的主题(想想莎士比亚的戏剧)。筛选需要很长时间,虽然没有算法是完美的,但它应该会大大缩小范围。我正在搜索“婚姻”这个词和它的每一个变体,“表亲”这个词和它的每一个变体,并检查它们的相对接近度。当然,我正在搜索数百本全文小说。

找到它们的相对接近度是我很难找到的功能。除此之外,如果不涉及主角,我可能需要搜索所有名称以确保主角。意思是我正在尝试确定
A. 一般名称。
B、主角。 - 应该是最常用的名称之一。

至于一般的名字,我不认为有 19 世纪名字的综合数据库,所以我只过滤掉了专有名词。从那里开始,我遇到了通用词以及标点符号后面的专有名词的难题。我认为我最好的选择是通过一个综合字典过滤所有这些单词,留下专有名词。名称可能是最常用的,但看看我是否可以过滤掉任何其他专有名词,例如地点。当然,远非完美,但它会大大缩小范围。

因此,这意味着比较两个巨大的单词列表。有很多方法可以做到这一点,但如果它的格式易于使用我知道的语言使用,那将是理想的。我最好的猜测是将大写单词数组与字典单词数组进行比较并找出差异。如果它在 php 或 javascript 中,我很好。至于任何其他语言,如果它是一个相对简单的操作,我相信我可以很好地弄清楚语法。

也许这有点过多的上下文,但对整个算法和过程的任何建议也值得赞赏。

非常感谢您的宝贵时间和帮助!通过节省无数小时的时间,您将为一篇巨大的博士论文做出贡献,所以我的朋友也会非常感激。

干杯!

【问题讨论】:

    标签: php javascript regex full-text-search


    【解决方案1】:

    Sphider 是一个可以下载的开源搜索引擎,它有你需要的大部分需求 http://www.sphider.eu/demo.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      相关资源
      最近更新 更多