输入特征

 
这部分内容是给希望自己添加其他搜索引擎的网友使用的,一般用户没有必要阅读。

一、特征简表

特征名称 说明
Replace 是否使用取代空格的方法
Quote 是否使用引号
All All关系的处理方法
Any Any关系的处理方法
Exact Exact关系的处理方法
Constant URL中不变的部分
Post 发送方式是否为Post

二、 合成流程 

三、合成概述

HTTP协议通常只用到两种传输方法,GET和POST,大多数引擎是通过GET方法传送一个URL变量到服务器端的,也有少数使用POST方法。
  搜索引擎的输入数据一般由两部分组成,一部分为固定值,包括引擎的URL等等。另一部分是根据用户输入的关键字和关键字之间的关系而变化的部分。
 

在变化部分中,关键是如何描述多个关键字之间的不同关系,通常搜索引擎会以“AND”、“OR”和“EXACT”三种关系来描述,其中EXACT表示输入的多个关键字是一个合成词。

 

例如关于“人类”、“基因组”和“计划”,“人类AND基因组AND计划”、“人类OR基因组OR计划”、“人类基因组计划”就代表了三种不同的关系。

 

上面是搜索引擎的一般情况,有些搜索引擎提供更多的逻辑选择,也有些不提供这些逻辑选择。

 

搜索引擎描述上面三种逻辑关系的方法有两个,一在几个关键字之前加上逻辑符号,比如“keyword=人类AND基因组AND计划”;二在整个关键词之前加修饰“Logic=AND&Keyword=人类 基因组 计划”。

四、特征详解

1 Replace 如上所述表示逻辑关系的方法有两个,在关键字之间加逻辑词或者在整体前面加关键词。对于第一种情况在处理上是使用适当的逻辑词来替换用户输入的多个关键词之间的空格。Replace属性调表是否属于第一种情况,如果将Replace设为1则代表使用相应逻辑词代替空格,设为0则代表属于第二种情况,需要在关键词之前给出逻辑关系。 
2 Quote 有些引擎使用引号来代表EXACT关系,人类基因组计划将表示为“人类基因组计划”。Quote属性如果选择1则代表使用引号,否则代表不使用引号。
3 All 如果Replace属性为1,则All属性代表用于替换空格的代表且关系的逻辑词。如果Replace为0,则All代表添加在Keyword之前的代表且关系的逻辑词。
4 Any 如果Replace属性为1,则All属性代表用于替换空格的代表或关系的逻辑词。如果Replace为0,则All代表添加在Keyword之前的代表或关系的逻辑词。
5 Exact 如果Replace属性为1,则All属性代表用于替换空格的代表且关系的逻辑词。如果Replace为0,则All代表添加在Keyword之前的代表且关系的逻辑词。
6 Constant 如果使用POST方法,则该属性为POST的URL。如果使用GET方法,则该属性为URL前面固定部分。
7 Post 如果引擎使用的是GET方法,则该项设置为空,否则设置为POST的数据的不变部分。
其他情况请对照上面的流程图。

五、 引擎编辑—输入特征编辑

  JaniSearch的所有引擎描述文件存储在程序目录的“category\engine”目录下,输入特征文件一ipt为后缀,输出特征文件以pro为后缀。
使用JaniSearch配套的引擎特征编辑器可以方便的添加新的搜索引擎,下图为EngineEditor的输入特征编辑页。
  输入编辑页左侧的列表中显示了JaniSearch引擎目录下的所有ipt文件,双击其中的一条,将在右侧的表格中显示该文件的条目。
  在右侧的表格中,您可以编辑引擎的各项输入属性。
  在下面的输入测试部分,您可以模拟用户输入并检测输入合成的结果,在Key words中输入查询关键字,在Logic中选中逻辑关系,单击OK,在Engine input中将给出输入合成的结果。
  如果您选中Online Test选项,那么您将在下面的IE窗口中看到您的输入合成结果在Internet上的实际效果。

六、一般步骤

1 访问某引擎的网页,查看其帮助,了解如何在其中进行逻辑查询。
2 使用多种逻辑关系,查询多个关键词,观察URL输入的变化情况,按照前面的特性描述法,总结其输入特征。
3 在引擎编辑器中单击输入编辑工具栏最左边的按钮,新建一个新的输入特征文件,填写表格。
在输入测试部分进行测试,查看结果是否符合原来的结果。
按照后面的介绍,在编写完输出特征后,将输入输出特征一同在后面的添加引擎页添加到JaniSearch的引擎组当中。