TextSearch

TextSearch[source,form]

搜索含有与 form 相匹配的文本、且由 source 指代的文件.

TextSearch[source,form,"prop"]

返回各个结果的 prop 属性.

更多信息和选项

  • TextSearch 支持下面所列的基本搜索形式,同时,可以将它们任意组合使用:
  • "string"文本字符串
    {s1,s2,}所有 si 必须出现在文档中
    s1|s2|至少必须出现一个 si
    "field"s1si 必须出现在给定字段中
    FixedOrder[s1,s2,]si 必须以给定顺序出现
    Except[q]q 不能出现在文档中
    SearchAdjustment[q,]q 要出现,并为其分配一定的权重等
    Between[],LessThan[],有位于特定范围内的数字等出现
    SearchQueryString["query"]完整的搜索引擎式查询
    All返回所有索引的文档
  • TextSearch 也支持其他形式 ContainsAll[]ContainsAny[]ContainsNone[],以及 And[]Or[]Not[].
  • TextSearch 允许将下面内容作为源使用:
  • "path" 或 File["path"]单个文件或文件目录
    "name"SearchIndexObject["name"]
    SearchIndexObject[]CreateSearchIndex 产生的搜索索引
    {obj1,obj2,}对象列表
  • TextSearch[source,form] 返回一个 SearchResultObject[] 表达式.
  • prop 属性可以是 ContentObject 的任何属性,其中 TextSearch[source,form,prop] 等于 SearchResultObject[][All,prop].
  • TextSearch[source,form,prop] 还支持以下的额外属性:
  • "Count"搜索结果的总数
    "ContentObject"搜索结果作为列表中的内容对象
    "Association"在关联中搜索结果
  • 属性 "Score" 定义搜索结果的默认排序.
  • 可能的选项包括:
  • ContentFieldOptions <||>字段的权选项
    DocumentWeightingRules None基于某字段值的文档
    MaxItems All返回的项数
  • 扩展名为典型的二进制文件的,或者包含非文本字节值的文件将不被索引或搜索.
  • TextSearch 支持很多可以导入为纯文本的文件格式. 其中包括:"TXT"、"CSV"、"JSON"、"XML"、"PDF"、"NB"、"EPS".
  • TextSearch 不支持大部分图像、音频或没有文本元素的其他文件格式.
  • TextSearch 读取由 Import[file, "Plaintext"] 给出的文件的 "Plaintext" 元素.

范例

打开所有单元关闭所有单元

基本范例  (3)

在指定的目录上创建索引:

在指定目录中使用索引搜索包含单词 "dog" 的文件:

使用高级查询语法搜索文件中含有的 "man",但不是 "animal",并显示上下文片段:

TextSearch 也可以查询目录,而无需加索引:

查找包含两个单词的文件:

查找含有其中一个单词的文件:

查询可以合并:

范围  (1)

使用范例文本,创建索引:

添加第二个索引:

在两个索引中搜索:

选项  (3)

ContentFieldOptions  (1)

查询时,为索引中的字段指定权重:

"Keywords" 字段设置权重为 2:

没有设置权重时,"doc1" 获得更高的得分:

DocumentWeightingRules  (1)

定义一个 "ConfidenceLevel" 字段并用于文档权重:

MaxItems  (1)

只获取第一个结果:

属性和关系  (1)

查询不区分大小写:

查询匹配整个单词:

可能存在的问题  (2)

只有字段权重可以在搜索时指定,其他内容字段选项必须在索引创建时指定:

以下搜索返回一个结果是因为,默认情况下,"IgnoreCase"True"IgnoreCase" 不能在搜索时指定:

当同样的选项在索引时指定,无结果返回:

一般情况下,在不同索引中匹配的对象的 "Score" 字段是不可比的:

确实,一般来说,多个索引上的搜索返回的结果没有按 "Score" 排序:

Wolfram Research (2015),TextSearch,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TextSearch.html (更新于 2017 年).

文本

Wolfram Research (2015),TextSearch,Wolfram 语言函数,https://reference.wolfram.com/language/ref/TextSearch.html (更新于 2017 年).

CMS

Wolfram 语言. 2015. "TextSearch." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2017. https://reference.wolfram.com/language/ref/TextSearch.html.

APA

Wolfram 语言. (2015). TextSearch. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/TextSearch.html 年

BibTeX

@misc{reference.wolfram_2024_textsearch, author="Wolfram Research", title="{TextSearch}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/TextSearch.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_textsearch, organization={Wolfram Research}, title={TextSearch}, year={2017}, url={https://reference.wolfram.com/language/ref/TextSearch.html}, note=[Accessed: 21-November-2024 ]}