我正在使用Lucene.NET
假设我只想从结果100开始返回50个结果,我该怎么做呢?
我查过文件,但什么也没找到。有什么我遗漏的吗?我想您这样做是为了分页。在Lucene实现(包括Solr)中通常是通过正常执行查询来完成的,但实际上只是加载您感兴趣的结果的存储数据
在一个典型的分页场景中,这可能意味着多次执行同一查询,这似乎是在浪费资源,但在系统缓存和Lucene缓存的帮助下,情况并没有那么糟。好处是无状态性,它允许您进行扩展。您的代码应该如下所示:
TopDocs topDocs = in
我正在Lucene 3.5中使用Hibernate搜索,并试图实现一个“你的意思是什么?”拼写检查器搜索。我想用索引作为字典。我遇到的问题是indexDirectory的文档与当前的方法签名不匹配,我找不到关于如何从任何其他来源实现的任何细节。谁能给我指出正确的方向吗?下面是我从方法签名本身解密的内容,但它只会导致锁异常
Directory directory = FSDirectory.open(FileUtils.toFile(new URL("file:lucene/indexes/"))
我的弹性搜索集群中只有一条记录。它有文本“Foo-Bar”
当我在集群上运行以下查询时,score显示为0.11506979:
{
"size" : 100,
"query" : {
"query_string" : {
"query" : "foo bar"
}
}
}
但是,当我在集群上运行以下查询(注意foo条后面的*时,score显示为0.9798734
{
"size" : 100,
"query"
如何在给定的查询“20”中实现这一点,内容为“something 20”的文档具有类似于MAX_SCORE的内容,而其他文档(例如“something 20/12”)具有常规内容
我在玩覆盖相似性算法来简化搜索,但这种行为现在很痛苦。。我需要将lengthNorm因子设置为“1”,因为我不希望有“较短的文档会有更高的分数”的行为(如果没有这个“20”,显然会赢,但不是因为它完全适合,而是因为它较短…)
我的自定义相似性类目前看起来就是这样
public class SimpleSimilarit
我继承了一个使用Lucene 4.4.0的项目,我正在尝试将其更新为使用Lucene 4.6.1
当调用我的类的parse方法时,它调用Lucene的org.apache.Lucene.queryparser.classic.queryparser上的parse。我的班级看起来有点像这样:
public class SomeClass {
String field;
Analyzer analyzer;
// omitted for brevity...
p
我正在尝试使用ElasticSearch 1.7.3为我公司的搜索引擎实现一个Dod you mean功能。我按照文档设置了一个短语建议器,并创建了一个自定义映射来支持它
但是,当我执行\u suggest查询时,我会得到ElasticsearchIllegalArgumentException[不支持Suggester[简单短语]。我做错了什么
这是我的疑问:
POST knowledge_graph/entities/_suggest
{
"suggest": {
"text"
我试图通过导航和搜索来测试ApacheLucene 4.5索引,我正在寻找Luke的适用版本。我知道他们使用与Lucene相同的命名版本,但他们的最新版本是4.0.0ALPAH,无法读取我的索引。我也发现了,但我得到了同样的错误
“位置处的目录无效,有关详细信息,请检查控制台。最后一个异常:java.lang.IllegalArgumentException:类型为org.apache.lucene.codecs.Codec且名为'Lucene45'的SPI类不存在。您需要将支持此SPI的相应J
如果给定的术语出现在文档开头的x空格内,是否有方法构建与文档匹配的弹性搜索查询
我知道我可以使用span_near和slop查找另一个术语x空格内的所有术语实例,但我不知道如何查找该术语位于文档开头或结尾附近的实例
这里的动机是因为我有一组文档总是以一组特定的单词开头,我希望能够仅基于第一个单词进行查询。我知道我可以为文档重新编制索引,将第一个单词拉到另一个字段中,然后单独查询,但我不想为了这个而对所有内容重新编制索引。您是否先尝试了span\u?看起来像是你需要的。你先试过span\u吗?看起
标签:elasticsearch Lucene
base64blob
(请注意,我知道Elasticsearch不是存储二进制blob的最佳选择,但请记住:)
Elasticsearch支持使用binary数据类型存储二进制数据。客户端发送表示二进制值的base64编码字符串
假设我想以Elasticsearch存储方式高效地存储二进制值。为了做到这一点,我可以从映射中的\u source中排除二进制字段开始,这样base64值就不会保存在JSON中的磁盘上
然后我可以在二进制字段上设置store:true,以便以后能够获取它。但我的问题是:
Elasticsea
我在Cloudant中有这样一个搜索索引:
"indexes": {
"search-cloud": {
"analyzer": "standard",
"index": "function(doc) { index(\"keyword\", doc.name); }"
}
}
功能有点紧张,但这是设置
看来它在用这个org.apache.lucene.queryparser.classic
现在,我有一个本地Fauxton CouchDB 1.6.1数
标签: Lucene
lucene.netfiltering
我只需要返回用户可以从Lucene搜索中访问的文档。我可以从构成“允许”子集的数据库中获取ID列表。我怎样才能把这些传给Lucene?我在网上找到的文章建议我需要使用位集和字段缓存(我说的对吗?),但我很难找到好的例子。有人有吗
我用的是C#,但任何语言都很好。谢谢。一个简单的方法是通过MultiPhraseQuery.add(Term[]terms)构建一个包含所有匹配ID的数组的多短语库。你可以用数千个术语构建其中一个,Lucene(一如既往)表现得非常出色。当我知道需要使用自定义过滤器时,
我使用Solr在我的数据中进行搜索,现在我意识到Solr搜索查询语言的某些功能并不适合我。由于我的能力,我错过了这些:
模糊搜索
wildchards*?-到目前为止,我还没有设置词干,这对于搜索暂时是有用的
字段规范-目前我无法告知标题中的搜索:Blabla
据我所知,这些东西应该在Solr中默认出现,但我显然没有。我使用Solr1.4。在这里你可以找到。谢谢您的帮助。您的fieldType name=“text”缺少许多筛选器。以下是default schema.xml中的文本字段类型供
Lucene中的细分市场是什么
细分市场的好处是什么?细分市场非常简单。其思想是,通过创建一个只包含新文档的新段,可以将文档添加到当前正在使用的索引中。这样,您就不必为了向索引中添加新文档而频繁地重新构建整个索引而付出昂贵的代价。Lucene索引被分割成更小的块,称为段。每个段都有自己的索引。Lucene会按顺序搜索所有这些文件
当打开新的写入程序以及写入程序提交或关闭时,将创建一个新段
使用此系统的优点是,创建段后,您无需修改段的文件。在索引中添加新文档时,它们将添加到下一个段。以前的段永远不
我有一个问题,在我的lucene索引文件中,一个文档可能有巨大的文本。现在,当我搜索这些巨大的文本文档时,lucene/solr不会过滤任何结果,即使文档文本中存在搜索词。我认为原因可能是文档文本中有大量字符?如果是,那么我们如何告诉solr/lucene在搜索过程中要分析多少字符,请解释
我正在使用Solr 1.4.1,可以任意使用
谢谢
AhsanLucene可以轻松处理大型文档。文档大小本身似乎不太可能是问题所在。使用诸如检查索引之类的工具,查看哪些术语与这些大型文档相关。Lucene可以
标签: Lucene
named-entity-extraction
我试图在Lucene中进行实体提取(更像是匹配)。以下是一个示例工作流:
给定一些文本(来自URL)和人名列表,尝试从文本中提取人名
注:
人名并不完全相同
正常化。e、 有些是X先生,太太。
Y和一些只是无名氏,X和Y。
其他前缀和后缀需要考虑
关于小,老,博士,I,II。。。
等等(不要让我从非
美国姓名)
我正在使用Lucene为每个Url中的文本创建内存索引(剥离html标记),并使用StandardAnalyzer查询所有名称的列表,一次一个(100k个名称,是否有其他方法可以做到这一
标签: Lucene
full-text-searchhibernate-searchcompass-lucene
我有一个应用程序,它在数据库中存储简短的描述性数据,在文本文件中存储大量相关的文本数据
我想为DB添加“高级搜索”。我正在考虑像JIRA那样添加自己的查询语言(JIRA查询语言)。然后我考虑对这些文本文件进行全文搜索(优先级较低)
想知道哪种工具更适合我更快更简单地实现它
我最想让用户能够编写自己的查询,而不是使用元素指定搜索过滤器
谢谢
UPD。我将日期保存在DB中,大多数varchar字段包含一个单词字符串
UPD2。Apache Derby现在正在使用。看看Grails的可搜索插件
我使用Lucene 2.9创建了一个索引,它存储文本消息。这些文档还包含一些其他未编入索引的元数据,我使用StandardAnalyzer来解析这些消息。我正在尝试使用Solr对这个索引运行一些测试。我用我的索引替换了示例应用程序索引,以查看我从各种查询中得到的结果
当我尝试以下查询时,得到0个结果
"text:happiness"
然而,将其改为文本:幸福*给了我一些结果。它们都包含诸如“幸福”、“幸福”等术语。所以我认为这是索引创建过程中的一个标记化问题,然而,当我使用lucene索引调试
我知道默认术语频率(tf)的计算方法很简单,就是搜索特定术语在字段中出现的次数的sqrt。因此,包含您正在搜索的某个术语多次出现的文档将具有更高的tf,因此具有更高的权重
我不确定的是,这是否有助于提高文档分数,因为权重更高,还是降低文档分数,因为它将文档向量从查询向量移开,正如Hibernate Search in Action一书所说的那样(第363页)。我承认,我真的很难看到文档向量模型如何与lucene评分方程相匹配,我没有这本书要检查,但基本上(如果我们忽略了在索引时可以手动设置的不同
我想运行一个弹性搜索查询,通过两个不同字段(纬度和经度)的组合对数据进行分组
它给出的结果是预期结果的两倍。。。有什么想法吗
答案中更相关的部分是
_shards":{
"total":5,
"successful":5,
"failed":0
},
"hits":{
"total":**37**,
"max_score":3.9314494,
"hits":[{
如果我不应用facets,那么总点击数37是查询的结果。这个总数是刻面总数的一半(
我阅读了对这个问题的回答,发现有两种方法可以在没有任何用户干预的情况下进一步缩小用户搜索查询的结果范围:
通过静默修改查询
应用Lucene滤波器
我在实现层面上理解上述两种技术,但在概念层面上不理解。我有以下问题:
Lucene应用过滤器的顺序是什么。是在查询之前还是之后?如果我按名字去,我想,应该在后面。
什么时候使用一种技术而不是另一种?
在没有功能差异的情况下,上述两种技术之间是否存在性能差异?
当文档具有与之相关联的用户权限并且用户应该在搜索结果中只查看其文档时,哪种技术更合适?
谢谢
我正在测试Lucene索引/搜索,我有一个疑问。为了测试,我创建了一些简单的文件。
例如:
mark\u test\u mark.txt
标记测试标记
a.txt
标记
测试
做记号
做记号
测试
做记号
做记号
测试
做记号
做记号
测试
标记
我提取了文件的内容,并将其索引。
我正在创建文档,以便按以下方式编制索引:
doc.add(new Field(FILE_NAME, index.getFileName().trim(), Field.Store.YES, Field.Index.A
我们正在使用lucene 2.4.0
文件系统中有数千个文档被编入索引
以下两个字段与许多其他字段一起索引:
我使用MultiFieldQueryParser是因为搜索查询涉及许多其他字段
EffectiveDate="1970-01-01T00:00:00-05:00"
ExpirationDate="2035-12-31T00:00:00-05:00"
1。)
有没有办法检查给定日期是否在两个索引日期字段之间
2。)
有没有办法在lucene中设置返回结果的最大大小。看起来
有没有办法在neo4j中结合lucene索引和遍历来搜索按名称索引的用户,但搜索结果应该返回最小深度优先(或宽度优先遍历)
i、 例如,搜索名为“John*”的所有用户,但与特定用户节点的接近程度应比其他用户优先。
i、 e.假设特定节点为X,则输出应按以下顺序进行:
X--约翰
X-----JohnM
X-----------------约翰尼
等等
我不确定是否应该使用计算器来筛选名称,因为可能有数千个节点,因此如果没有索引,它听起来不是很有效
谢谢你的帮助 我认为这是不可能的。在REST遍
我已经建立了ElasticSearch的基本实现,在文档中存储了几个字段,并且我能够执行查询
var searchResult=client.Search(s=>
s
.尺寸(1000)
.Fields(f=>f.ID)
.Query(q=>q.QueryString(d=>d.Query(Query)))
)
.文档。选择(项=>
item.ID
)
.ToList();
var products=this.DbContext.products
。其中(项目=>
searchResult.Co
我在一个文件夹中有这3个文件,它们都与Lucene创建的索引相关:
_0.cfs
第2部分
G.gen
它们的用途是什么?是否可以将其中任何一个转换为人类可读的格式,以进一步了解lucene如何使用其索引?这两个段文件存储有关段的信息,.cfs是由其他索引文件(如索引、存储、删除等文件)组成的复合文件
有关用于创建Lucene索引的不同类型文件的文档,请参见
一般来说,Lucene文件不是人类可读的。它们的设计更注重效率和速度,而不是人的可读性。获取人类可读格式的方法是通过Lucene AP
标签: Lucene
fragmentlucene-highlighter
我只希望我的Lucene搜索为每个文档提供最高分数的突出显示片段。假设我有5个文档,每个文档上有三次“性能”字样,我仍然只希望打印5个结果并突出显示到结果页面。我该怎么做呢?谢谢 通过调用而不是getBestFragments,从搜索返回的每个文档只能得到一个片段
如果对搜索的调用多次返回相同的文档,则索引中很可能有同一文档的多个副本。确保如果要创建新索引,请打开IndexWriter,并将其OpenMode设置为:
索引中有三个字段;firstname、lastname和isManager(1或0)。
如何使用QueryParser并将isManager(作为全局筛选器)添加到1 only,以便有效地只搜索经理
所以,如果用户在“firstname:john”中搜索/通过,我想添加/附加“isManager:1”作为全局过滤器。一种解决方案是将“notismanager:0”附加到所有用户的查询字符串中。。。但是我想知道是否还有其他更好的方法。使用FilteredQuery包装从QueryParer返回的查
在弹性搜索中,我有一个被分析的字段,我还存储原始值。我想用存储的值而不是分析的值搜索字段
有什么办法吗
注意:我无法使字段不进行分析,因为我也在搜索分析的值。查看类型,这将允许两个存储字段,一个是已分析,用于全文搜索;另一个是未分析,用于精确匹配
我使用默认的sitecore\u web\u索引创建了一个自定义搜索页面,在迁移到具有独立内容管理和内容交付服务器的测试环境之前,一切似乎都正常工作。CD服务器上的索引在发布时未更新(CM服务器会更新),如果从控制面板重建索引,则会看到更新。因此,我相信索引和搜索页面工作正常
索引使用的是onPublishEndAsync策略。Sitecore搜索和索引指南()第4.4.2节规定:
这种策略正是顾名思义。在初始化期间,它订阅
OnPublishEnd事件并触发增量索引重建。使用单独的CM和CD服
我正在搜索在不同字段(例如标题、内容等)中包含两个术语“一两”的文档。PyLucene的一个例子:
query = "one two"
clauses = []
for field in fields:
clauses.append(BooleanClause.Occur.SHOULD)
query = MultiFieldQueryParser.parse(Version.LUCENE_CURRENT, query, fields, clauses, analyzer)
我想获得所
如果我有像1T这样的文档,我想每次都查询整个文档
只有一个大索引shard=100或多个小索引shard=100/index_num的利/弊是什么?
无论如何,我将使用100个碎片,但我是否应该拆分为更小的索引,以便可以分发聚合或其他重请求 这里有两个概念你应该理解-
切分-切分是我们将数据划分为不同的分区,并将整个数据的一个分区分配给一个seprate切分。每个碎片可以在任何不同的机器上运行。这样我们就可以把工作分配给不同的机器。假设我们有1000万份文件和10台机器。我们将碎片设置为10并创
标签: Lucene
full-text-searchjcrmodeshapejcr-sql2
我正在尝试使用modeshape进行全文搜索。我对基于lucene指数的排名结果特别感兴趣。这是我的存储库配置
"indexProviders": {
"lucene": {
"classname": "lucene",
"directory": "${user.home}/repository/indexes"
}
},
"indexes": {
"textFromFiles":
我试图通过引用使用新的LuceneAPI7.3的书(使用Lucene3.+api)来创建新的标记器,但它给出了如下所述的错误
java.lang.IllegalStateException: TokenStream contract violation: reset()/close() call missing, reset() called multiple times, or subclass does not call super.reset(). Please see Javadocs
我只是好奇为什么Lucene不以标准的方式区分字符串和数值。。例如,范围查询的['2'到'6']和[2到6],并在默认情况下将它们全部视为字符串
是否有任何特殊原因将这两种情况都视为字符串值?您的范围查询示例基于lucene查询语法。在这个定义中,它没有在执行这个查询的字段类型中定义
基本上,如果将此查询应用于文本字段,则计算将基于字符串。如果将其应用于一个整数点,则该数字将被解释为整数。负责这项工作的是QueryParser,您可以在其中添加查询和要搜索的字段
在您的情况下,使用IntPoin
我在HTTP GET请求中尝试了下面的2个Lucene查询,以在ElasticSearch中搜索文档:
q=(Name:\"20190401_150454_992\" OR \"test video\")
及
第一个结果仅包含本文档:
"_source": {
"Name": "test video",
"Latitude": 25.1062949,
...
}
第二个结果包含上述文档,并且
"_source": {
"Name": "20190401_150
我试图了解docFreq是如何计算的。是每个索引,每个映射,每个字段吗
当将explain设置为true时,我从查询中得到了这些结果。
当点击位于映射列表名称中时,标准的docFreq值较低,如下所示
{
"value" : 16.316673,
"description" : """weight(ListedName.standard:"eagle pointe" in 48) [PerFieldSimilarity], result
我试图用这个SPARQL表达式查询本地ApacheJena个人数据库(在ApacheJena Fuseki 3.17.0上运行)
PREFIX gndo: <https://d-nb.info/standards/elementset/gnd#>
PREFIX text: <http://jena.apache.org/text#>
SELECT *
WHERE {
?y text:query (gndo:surname "Einstein"
我已经设置了一个solr中继器,它作为一个从站似乎可以正常工作,我还以为我的主部件设置正确:
<requestHandler name="/replication" class="solr.ReplicationHandler">
<lst name="master">
<str name="replicateAfter">commit</str>
<str name="replicateAfter">startup</s
我想用Lucene索引图像的直方图信息。
我需要知道我应该修改哪个Lucene类来告诉Lucene它不应该读取文件内容(显然图像文件中没有任何可读的内容),但它应该使用我的类来提取直方图信息并返回一个数字数组(或者它可以是Lucene可以索引的任何结构)
示例:示例图像的直方图如下所示
我正在搜索具有100 150 71250的图像。
我希望Lucene返回示例图像,因为它具有相同的3种颜色。这样行吗
谢谢大家! Lucene本身只处理文本,所以您应该首先提取数字,然后添加文本为“100 150
我放置了一些字段,如制造商,组,说明,num。
如果我在QueryParser中使用类似于sometext*的查询,SimpleFaceted可以正常工作
我正在尝试使用num:[100到200],
num是带有SetIntValue(150)的NumericField
我没有得到任何回报
我遗漏了什么吗?您不能使用普通的查询解析器进行数值范围查询。但是,假设您在查询时知道哪些字段是数字字段,那么从Lucene查询解析器派生一个类并根据需要创建数字范围查询并不困难
标准查询解析器中对数字查询的支
我们在应用程序中使用Lucene的近实时搜索功能进行全文搜索。由于提交成本很高,假设我们在每添加10个文档后就提交索引(我们预计每小时索引大约150到200个文档)。现在,如果我想终止进程,如何确保在进程终止之前将内存中的所有文档提交到磁盘?这里有推荐的方法吗?还是我的文档量太少而无暇顾及,我应该在每次添加时都提交
我应该跟踪所有未提交的文档吗?如果进程在提交到磁盘之前被终止,我应该在进程启动时再次索引这些未提交的进程吗
Lucene NRT用于运行嵌入式Jetty的流程。向jetty发送关闭命
我有一个现有的索引,其中包含一些我正在尝试搜索的文档。
搜索“真实文本”字段时,一切正常。
当我尝试搜索数字字段时,搜索结果为0。
代码是这样的(它是pylucene,但概念是相同的):
luke搜索(id:902)也会给我空结果。
当我查看luke上的Overview选项卡时,它显示该字段为UTF-8(字符串)
我做错了什么
编辑:
这种情况似乎发生在已编制索引且无规范的字段上(根据luke的标志)。
有人能解释一下吗?你在索引时使用SimpleAnalyzer吗?它去掉了数字。确保在索引和搜
我正在使用Lucene 4.3为英语tweet编制索引,但是我不确定使用哪种分析器。Lucene StandardAnalyzer和EnglishAnalyzer有什么区别
我还试着用以下文字测试StandardAnalyzer:“XY&Z公司-xyz@example.com". 输出是:[xy][z][corporation][xyz][example.com],但我认为输出是:[xy&z][corporation][xyz@example.com]
我做错什么了吗?看一下源代码。通常,分析器
目前我正在使用sitecore 6.6和高级数据库爬虫。
我的sitecore环境目前是1厘米的本地环境,1张cd的云环境。
ADC现在工作正常
我可以知道哪一行sitecore调用ADC方法吗?
sitecore调用ADC的第一个方法是什么?
sitecore中的哪一行配置指定了要调用的ADC方法?ADC是一个数据访问库,因此sitecore本身不调用它,您需要在前端组件(布局、子布局、网络控制)的代码中调用它。ADC配置定义搜索索引的名称以及包含和/或排除的内容
以下是ADC的概述视频:
最
我正在设计一个多租户SaaS应用程序,租户可以在其中存储数据并对其执行搜索。我计划使用Lucene(实际上是Lucene.Net)作为搜索引擎。由于不需要跨租户搜索,我正在考虑每个租户有一个索引(因此有一个目录)
我不认为索引写入会异常频繁,因此它们将排队到一个进程中,该进程将在更新到达时打开索引、添加文档并关闭索引
不过,我希望在阅读方面有更有效的方法。租户的数量可能从数百个扩展到数万个,因此在每个搜索节点上保持RAM中所有目录的打开是不明智的。我正在考虑管理一个最近使用或可能是最常用目录的短
我知道Splunk不需要MySQL数据库提供的很多功能,要对大数据进行索引和搜索,使用关系数据库可能不是一个好的选择
Splunk是否将Lucene用作搜索引擎,或者他们是否制作了磁盘数据格式
如果我提问的方式有任何问题,我很抱歉。这是我关于堆栈溢出的第一个问题。谷歌搜索可能会有所帮助:-->没有LuceneSplunk为其索引提供专有数据格式。Lucene没有被使用,Splunk有自己的搜索语言SPL。Splunk使用自己的搜索引擎,它不基于任何第三方
它的搜索引擎只基于文件,没有数据库。
它
在sitecore 7.5中部署到CD上时,我的搜索索引和ContentSearchManager出现异常问题
如果我使用一个主机名,它将被填充,但使用另一个主机名它将为空
我已经检查了siteconfig,两个主机名都在主机名列表中,站点对这两个都有响应,但是我的搜索索引在其中一个上显示为空,在另一个上填充
非常感谢您的帮助
如果您需要查看配置和实现,我可以向您展示,但我不完全确定您到底需要什么,请告诉我,我将展示
非常感谢。您是否100%确定两个请求都使用同一台服务器?其中一个在主机文件中没
我正在使用Lucene Luke测试搜索索引结果,并注意到我不能在“默认字段”下拉列表中选择多个字段。这是出于设计还是我们不能使用Luke工具搜索多个字段
基本上我想知道Lucene中SolrQF(查询字段)的等价物
谢谢您可以使用格式字段:查询进行搜索。
详情请参阅:
Lucene支持现场数据。执行搜索时,您可以
指定字段,或使用默认字段。字段名和默认值
字段是特定于实现的
您可以通过键入字段名后跟冒号来搜索任何字段
“:”然后是你要找的术语
例如,假设Lucene索引包含两个字段,title
我尝试运行Lucene查询以包括一些日期并排除一些日期。
但我注意到,组合通配符和NOT似乎不起作用。我检查了查询语法,并在互联网上搜索了一些时间,但没有得到任何运气。我遗漏了什么吗?我的要求是得到一个月的其他日期,除了第一天。我的问题如下:
(field1:foo*) AND (field2:2019-* NOT 2019-*-01)
而不带的查询不起作用:
(field1:foo*) AND (field2:2019-09-*)
field2的fieldtype是什么?您好,您可能有点问
看起来现在正在使用标准分析仪。
将来是否有计划允许在配置文件中切换Lucene analyzer
谢谢。自2020年起,ApacheIgnite中的文本索引尚未处于积极开发阶段。我认为有你自己的Lucene索引会更有意义。我认为你应该求助于谷歌或必应来回答这类问题。
上一页 1 2 ...
14 15 16 17 18 19 20 ...
下一页 最后一页 共 78 页