当前位置: 首页 > news >正文

长沙个人网站建设校园网站如何建立

长沙个人网站建设,校园网站如何建立,wordpress theauthor,WordPress 手机编辑java集成lucene本文是我们名为“ Apache Lucene基础知识 ”的学院课程的一部分。 在本课程中#xff0c;您将了解Lucene。 您将了解为什么这样的库很重要#xff0c;然后了解Lucene中搜索的工作方式。 此外#xff0c;您将学习如何将Lucene Search集成到您自己的应用程序中… java集成lucene 本文是我们名为“ Apache Lucene基础知识 ”的学院课程的一部分。 在本课程中您将了解Lucene。 您将了解为什么这样的库很重要然后了解Lucene中搜索的工作方式。 此外您将学习如何将Lucene Search集成到您自己的应用程序中以提供强大的搜索功能。 在这里查看 目录 1.简介 2.解析查询字符串 2.1。 QueryParser的规则 2.2。 使用QueryParser 2.3。 QueryParser表达式语法 3.使用索引搜索器创建索引 4.不同类型的查询 4.1术语查询 4.2布尔查询 4.3通配符查询 4.4短语查询 4.5前缀查询 4.6 MultiPhraseQuery 4.7模糊查询 4.8 RegexpQuery 4.9 TermRangeQuery 4.10 NumericRangeQuery 4.11 ConstantScoreQuery 4.12 DisjunctionMaxQuery 4.13 MatchAllDocsQuery 1.简介 Java Lucene提供了一种功能非常强大的查询语言用于对大量数据执行搜索操作。 查询分为术语和运算符。 术语共有三种 单项 短语和子查询 。 单个术语是一个单词例如“ test”或“ hello”。 词组是由双引号括起来的一组单词例如“ hello dolly”。 子查询是用括号括起来的查询例如“hello dolly”。 Lucene支持数据字段。 执行搜索时您可以指定一个字段也可以使用默认字段。 字段名称取决于索引数据默认字段由当前设置定义。 2.解析查询字符串 查询解析器的工作是将用户提交的查询字符串转换为查询对象。 查询由解析其内容的查询解析器使用。 这是一个例子 {query_string : {default_field : content,query : this AND that OR thus} } query_string顶级参数包括 参数 描述 query 要解析的实际查询。 default_field 如果未指定前缀字段则为查询词的默认字段。 默认为index.query.default_field索引设置而索引设置又默认为_all。 default_operator 如果未指定显式运算符则使用默认运算符。 例如使用OR的默认运算符匈牙利的查询大写被转换为OR匈牙利的大写OR使用AND的默认运算符相同的查询被转换为AND匈牙利的大写AND。 默认值为“或”。 analyzer 用于分析查询字符串的分析器名称。 allow_leading_wildcard 设置时*或 允许作为第一个字符。 默认为true。 lowercase_expanded_terms 通配符前缀模糊和范围查询的术语是否要自动小写因为未对其进行分析。 默认为true。 enable_position_increments 设置为true以在结果查询中启用位置增量。 默认为true。 fuzzy_max_expansions 控制模糊查询将扩展到的术语数量。 默认为50 fuzziness 设置模糊查询的模糊性。 默认为自动。 fuzzy_prefix_length 设置模糊查询的前缀长度。 默认值为0。 phrase_slop 设置短语的默认斜率。 如果为零则需要精确的短语匹配。 预设值为0。 boost 设置查询的提升值。 默认为1.0。 analyze_wildcard 默认情况下不分析查询字符串中的通配符术语。 通过将此值设置为true也将尽最大努力对这些值进行分析。 auto_generate_phrase_queries 默认为false。 minimum_should_match 一个值该值控制在结果布尔查询中应匹配多少个“应该”子句。 它可以是绝对值2百分比30或两者的组合。 lenient 如果设置为true将导致忽略基于格式的错误例如向数字字段提供文本。 locale [1.1.0]在1.1.0.Locale中添加应该用于字符串转换。 默认为ROOT。 表格1 生成多词查询时可以使用rewrite参数控制如何重写它。 QueryParser的规则 假设您正在Web上搜索同时包含单词java和net但不包含单词dot的页面。 如果搜索引擎让您为此简单查询输入类似以下内容该怎么办 BooleanQuery query new BooleanQuery(); query.add(new TermQuery(new Term(contents,java)), true, false); query.add(new TermQuery(new Term(contents, net)), true, false); query.add(new TermQuery(new Term(contents, dot)), false, true); 那将是真正的阻力。 幸运的是GoogleNutch和其他搜索引擎比这更友好允许您输入更简洁的内容 java AND net NOT dot 。首先我们将了解在应用程序中使用QueryParser涉及的内容。 使用QueryParser 使用QueryParser非常简单。 需要三件事一个表达式用于表达式中非限定字段的默认字段名称以及该表达式各部分的分析器。查询语法部分讨论了字段选择限定符。 “查询瘫痪”部分介绍了特定于查询解析的分析。 现在让我们分析一个表达式 String humanQuery getHumanQuery(); Query query QueryParser.parse(humanQuery, contents, new StandardAnalyzer()); 一旦获得Query对象就可以像直接通过API创建查询一样进行搜索。 这是使用用户输入的查询字符串搜索现有索引并将结果显示到控制台的完整方法 public static void search(File indexDir, String q) throws Exception{ Directory fsDir FSDirectory.getDirectory(indexDir, false);IndexSearcher is new IndexSearcher(fsDir);Query query QueryParser.parse(q, contents, new StandardAnalyzer());Hits hits is.search(query);System.out.println(Found hits.length() document(s) that matched query q :);for (int i 0; i hits.length(); i) {Document doc hits.doc(i);System.out.println(doc.get(filename));} } 根据简单的语法分析传递给QueryParser表达式。 遇到非法表达式时 QueryParser引发ParseException 。 QueryParser表达式语法 本节中的以下各项描述QueryParser支持创建各种查询类型的语法。 单项查询 仅一个单词的查询字符串将转换为基础TermQuery 。 词组查询 要在一个字段中一起搜索一组单词请用双引号将单词引起来。 查询“ hello world”对应于精确的词组匹配要求“ hello”和“ world”是匹配的连续项。 Lucene还支持草率的短语查询其中引号之间的术语不必严格按照顺序排列。 斜率因子用于衡量将术语重新排列为准确顺序需要执行多少步。 如果移动次数小于指定的倾斜系数则为匹配。 QueryParser将表达式“ hello world” PhraseQuery解析为PhraseQuery 其PhraseQuery因子为2允许对短语“ world hello”“ hello world”“ hello * world”和“ hello * * world”进行匹配其中星号表示索引中不相关的单词。 请注意“ world * hello”与坡度因子2不匹配。因为将其返回“ hello world”的步骤为3。将“ world”一词跳到星号位置是一个到“你好”的位置是两个第三跳完全匹配。 范围查询 文本或日期范围查询使用带括号的语法在开始词和结束词之间使用TO。 方括号的类型确定范围是包含式方括号还是排他性卷曲方括号。 注意非日期范围查询使用开始和结束词因为用户输入时没有修改。 在{Aardvark TO Zebra}的情况下这些术语不小写。 起始词和结束词不得包含空格否则解析将失败 只允许使用单个单词。 分析器未按开始和结束条件运行。 日期范围处理 当遇到范围查询例如[1/1/03 TO 12/31/03]时解析器代码首先尝试将开始和结束条件转换为日期。 如果这些术语是有效日期则根据DateFormat.SHORT和宽大的语法分析日期将转换为其内部文本表示形式但是日期字段索引已超出本文的范围。 如果这两个术语中的任何一个未能解析为有效日期则它们都将原样用于文本范围。 通配符和前缀查询 如果一个术语包含星号或问号则将其视为WildcardQuery 除非该术语仅包含尾部星号并且QueryParser会将其优化为PrefixQuery 。 尽管WildcardQuery API本身支持前导通配符但QueryParser不允许使用它。 通配符查询示例是w * ldcrd 而查询前缀*已优化为PrefixQuery 。 模糊查询 Lucene的FuzzyQuery匹配接近指定术语的术语。 Levenshtein距离算法确定索引中的词与指定目标词的接近程度。 “编辑距离”是“ Levenshtein距离”的另一个术语是两个字符串之间相似度的量度其中距离的测量是将一个字符串转换为另一个字符串所需的字符删除插入或替换的数量。 例如“三”和“树”之间的编辑距离是一因为仅需要删除一个字符。 在阈值计算中使用移动数该计算是距离与弦长的比率。 QueryParser支持在词条上使用尾随波浪号的模糊词条查询。 例如搜索wuzza〜将找到包含“ fuzzy”和“ wuzzy”的文档。 编辑距离会影响评分因此较低的编辑距离会获得较高的分数。 布尔查询 使用运算符ANDOR和NOT在文本上构造布尔查询。 列出的未指定运算符的术语使用隐式运算符默认情况下为OR。 abc xyz的查询将解释为abc OR xyz。 在术语前加上NOT排除包含以下术语的文档。 否定项必须与至少一个非否定项组合才能返回文档。 下表中显示了每个大写单词运算符的快捷方式语法。 a OR ba ba而不是b a -b 详细语法 快捷语法 a和b a b 表格1 QueryParser是一种快速简便的方法可以为用户提供强大的查询构造但并不适合所有人。 QueryParser无法创建可以使用API​​构造的每种查询。 例如不能构造PhrasePrefixQuery 。 您必须记住将自由格式查询解析提供给最终用户时所有可用的可能性。 某些查询可能会导致性能瓶颈。 内置QueryParser使用的语法可能不适合您的需求。 子类化QueryParser可以实现某些控制尽管它仍然受到限制。 3.使用索引搜索器创建索引 通常应用程序通常只需要调用继承的 Searcher.search(org.apache.lucene.search.Query,int) 要么 Searcher.search(org.apache.lucene.search.Query,org.apache.lucene.search.Filter,int) 方法。 为了提高性能我们可以打开indexSearcher其用于所有其他搜索操作。 这是一个简单的示例说明如何在lucene中创建索引并使用indexSearcher搜索该索引。 public void simpleLucene(){Analyzer analyzer new StandardAnalyzer();// Store the index in memory:Directory directory new RAMDirectory();// To store an index on disk, use this instead (note that the // parameter true will overwrite the index in that directory// if one exists):// Directory directory FSDirectory.getDirectory(/tmp/myfiles, true);IndexWriter iwriter new IndexWriter(directory, analyzer, true);iwriter.setMaxFieldLength(25000);Document doc new Document();String text This is the text to be indexed.;doc.add(new Field(fieldname, text, Field.Store.YES,Field.Index.TOKENIZED));iwriter.addDocument(doc);iwriter.close();// Now search the index:IndexSearcher isearcher new IndexSearcher(directory);// Parse a simple query that searches for text:QueryParser parser new QueryParser(fieldname, analyzer);Query query parser.parse(text);Hits hits isearcher.search(query);assertEquals(1, hits.length());// Iterate through the results:for (int i 0; i hits.length(); i){Document hitDoc hits.doc(i);assertEquals(This is the text to be indexed., hitDoc.get(fieldname));}isearcher.close();directory.close();}4.不同类型的查询 Lucene支持多种查询。 这里是其中的一些。 术语查询 布尔查询 通配符查询 词组查询 前缀查询 多词查询 模糊查询 正则表达式查询 TermRangeQuery NumericRangeQuery ConstantScoreQuery DisjunctionMaxQuery MatchAllDocsQuery 4.1术语查询 匹配具有包含术语未分析的字段的文档。 术语查询映射到Lucene TermQuery 。 以下匹配文档其中用户字段包含术语kimchy {term : { user : kimchy } } 提升也可以与查询关联 {term : { user : { value : kimchy, boost : 2.0 } } } 要么 {term : { user : { term : kimchy, boost : 2.0 } } } 使用Lucene可以搜索已使用TermQuery类建立索引的特定单词。 本教程将把TermQuery搜索与QueryParser搜索进行比较并显示与术语查询有关的一些细微差别。 4.2布尔查询 我们可以使用BooleanQuery API或使用MultiFieldQueryParser在Lucene中运行多字段搜索来解析查询文本。 例如如果一个索引有2个字段FirstName和LastName 并且您需要在FirstName字段中搜索“ John”在LastName字段中搜索“ Travis”则可以使用BooleanQuery BooleanQuery bq new BooleanQuery(); Query qf new TermQuery(new Lucene.Net.Index.Term(FirstName, John)); Query ql new TermQuery(new Lucene.Net.Index.Term(LastName, Travis)); bq.Add(qf, BooleanClause.Occur.MUST); bq.Add(ql, BooleanClause.Occur.MUST); IndexSearcher srchr new IndexSearcher(C:\\indexDir); srchr.Search(bq);4.3通配符查询 匹配具有匹配通配符表达式未分析的字段的文档。 支持的通配符是*它匹配任何字符序列包括空字符以及它匹配任何单个字符。 请注意此查询的速度可能很慢因为它需要迭代许多项。 为了防止极慢的通配符查询通配符术语不应以通配符*或之一开头。 通配符查询映射到Lucene WildcardQuery。 {wildcard : { user : ki*y } } 提升也可以与查询关联 {wildcard : { user : { value : ki*y, boost : 2.0 } } } 要么 {wildcard : { user : { wildcard : ki*y, boost : 2.0 } } } 此多项查询允许控制如何使用rewrite参数将其重写。 4.4短语查询 使用Lucene PhaseQuery可以用于查询一系列术语其中这些术语不一定必须彼此相邻或顺序相邻。 PhaseQuery对象的setSlop()方法可用于设置查询短语中各个单词之间可以包含多少个单词。 我们可以像这样使用PhraseQuery Term term1 new Term(FIELD_CONTENTS, string1); Term term2 new Term(FIELD_CONTENTS, string2); PhraseQuery phraseQuery new PhraseQuery(); phraseQuery.add(term1); phraseQuery.add(term2); phraseQuery.setSlop(slop);4.5前缀查询 匹配具有包含带有指定前缀未分析的术语的字段的文档。 前缀查询映射到Lucene PrefixQuery 。 以下匹配文档其中用户字段包含以ki开头的术语 {prefix : { user : ki } } 提升也可以与查询关联 {prefix : { user : { value : ki, boost : 2.0 } } } 要么 {prefix : { user : { prefix : ki, boost : 2.0 } } } 此多项查询允许控制如何使用rewrite参数将其重写。 4.6 MultiPhraseQuery 内置的MultiPhraseQuery绝对是一种利基查询但它可能很有用。 MultiPhraseQuery类似于PhraseQuery不同之处在于它允许每个职位使用多个术语。 您可以通过枚举所有可能的短语组合并使用BooleanQuery将它们“或”在一起来实现相同的逻辑效果尽管以高性能为代价。 例如假设我们要查找有关快速狐狸的所有文档快速或快速后跟狐狸。 一种方法是执行“快速狐狸”或“快速狐狸”查询。 另一个选择是使用MultiPhraseQuery 。 4.7模糊查询 FuzzyQuery可以分为两种一种。 像这样的查询模糊b。 像这样的字段查询模糊。 像这样的查询模糊–像这样的查询模糊通过在一个或多个字段上运行来查找与提供的文本“相似”的文档。 {fuzzy_like_this : {fields : [name.first, name.last],like_text : text like this one,max_query_terms : 12} } Fuzzy_like_this可以缩短为flt。 Fuzzy_like_this顶级参数包括 fields -要对其运行类似查询的字段列表。 默认为_all字段。 like_text 用于查找喜欢的文档的文本。 ignore_tf 应该忽略词频。 默认为false。 max_query_terms 任何生成的查询中将包含的最大查询词数。 默认为25。 fuzziness -术语变体的最小相似性。 默认值为0.5。 请参阅“模糊编辑”部分。 prefix_length 变体术语上必需的公共前缀的长度。 预设为0。 boost 设置查询的增强值。 默认为1.0。 analyzer 将用于分析文本的分析器。 默认为与该字段关联的分析器。 模糊化所有以字符串形式提供的术语然后选择最佳的n个差异术语。 实际上这混合了FuzzyQuery和MoreLikeThis的行为但要特别考虑模糊评分因素。 对于用户可能会在许多字段中提供详细信息并且不了解布尔查询语法的查询并且还需要一定程度的模糊匹配和快速查询的查询这通常会产生良好的查询结果。 对于每个源项模糊变体都保存在没有BooleanQuery因子的BooleanQuery 因为我们不在任何文档中寻找多个变体的匹配项。 此外专门的TermQuery用于变体并且不使用该变体词的IDF因为这样会偏爱诸如拼写错误之类的罕见词。 取而代之的是所有变体都使用相同的IDF排名源查询项的排名这是变体的提升因素。 如果索引中不存在源查询词则使用变体的平均IDF。b。 像这样的字段查询模糊 Fuzzy_like_this_field查询与Fuzzy_like_this查询相同只不过它针对单个字段运行。 它提供了比一般Fu​​zzy_like_this查询更好的查询DSL并支持类型字段查询使用类型过滤器自动包装类型字段以仅匹配特定类型。 {fuzzy_like_this_field : {name.first : {like_text : text like this one,max_query_terms : 12}} } 可以将Fuzzy_like_this_field缩短为flt_field。Fuzzy_like_this_field顶级参数包括 like_text-用于查找喜欢的文档的文本。 ignore_tf-应该忽略词频。 默认为false。 max_query_terms-任何生成的查询中将包含的最大查询词数。 默认为25。 模糊性-术语变体的模糊性。 默认值为0.5。 请参阅“模糊编辑”部分。 prefix_length-变体术语上必需的公共前缀的长度。 预设为0。 boost-设置查询的增强值。 默认为1.0。 Analyzer-将用​​于分析文本的分析器。 默认为与该字段关联的分析器。 4.8 RegexpQuery regexp查询允许您使用正则表达式术语查询。 有关受支持的正则表达式语言的详细信息请参见正则表达式语法。 注意 regexp查询的性能在很大程度上取决于所选的正则表达式。 匹配。*之类的内容非常慢而且无法使用环视正则表达式。 如果可能应在正则表达式开始之前尝试使用长前缀。 诸如。*之类的通配符匹配器通常会降低性能。 {regexp:{name.first: s.*y} } 还支持升压 {regexp:{name.first:{value:s.*y,boost:1.2}} } 您还可以使用特殊标志 {regexp:{name.first: {value: s.*y,flags : INTERSECTION|COMPLEMENT|EMPTY}} } 可能的标志是ALL ANYSTRING AUTOMATON COMPLEMENT EMPTY INTERSECTION INTERVAL或NONE 。 正则表达式查询受regexp和query_string查询的支持。 Lucene正则表达式引擎不兼容Perl但支持较小范围的运算符。 标准运营商 锚定大多数正则表达式引擎允许您匹配字符串的任何部分。 如果您想让正则表达式模式从字符串的开头开始或在字符串的末尾结束则必须专门将其锚定使用^表示开始或使用$表示结束.Lucene的模式始终被锚定。 提供的模式必须与整个字符串匹配。 对于字符串“ abcde” ab.* # matchabcd # no match 允许的字符 模式中可以使用任何Unicode字符但是某些字符是保留的必须转义。 标准保留字符为 。 * | {} []” \ 如果启用了可选功能请参见下文那么这些字符也可能会被保留 〜 任何保留的字符都可以使用反斜杠“ \ *”进行转义包括文字反斜杠字符 “ \\” 此外任何字符双引号除外在被双引号包围时都将按字面意义进行解释 约翰” smith.com” 匹配任何字符 时期 ”。” 可以用来代表任何字符。 对于字符串“ abcde” ab... # matcha.c.e # match 一个或多个 加号“ ”可用于一次或多次重复前面的最短模式。 对于字符串“ aaabbb” ab # matchaabb # matcha. # matchaabbb # no match 零或更多 星号“ *”可用于匹配前面的最短模式零次或多次。 对于字符串“ aaabbb” a*b* # matcha*b*c* # match.*bbb.* # matchaaa*bbb* # match 零或一 问号“” 使前面的最短模式为可选。 它匹配零或一倍。 对于字符串“ aaabbb” aaa?bbb? # matchaaaa?bbbb? # match.....?.? # matchaa?bb? # no match 最小到最大 可以使用花括号“ {}”指定前面的最短模式可以重复的最小次数和可选最大次数。 允许的形式为 {5} # repeat exactly 5 times{2,5} # repeat at least twice and at most 5 times{2,} # repeat at least twice 对于字符串“ aaabbb” a{3}b{3} # matcha{2,4}b{2,4} # matcha{2,}b{2,} # match.{3}.{3} # matcha{4}b{4} # no matcha{4,6}b{4,6} # no matcha{4,}b{4,} # no match 分组 括号“”可用于形成子模式。 上面列出的数量运算符以最短的先前模式进行操作该模式可以是一组。 对于字符串“ ababab” (ab) # matchab(ab) # match(..) # match(...) # no match(ab)* # matchabab(ab)? # matchab(ab)? # no match(ab){3} # match(ab){1,2} # no match 轮换 管道符号“ |” 充当OR运算符。 如果左侧或右侧的图案匹配则匹配成功。 交替适用于最长的模式而不是最短的模式。 对于字符串“ aabb” aabb|bbaa # matchaacc|bb # no match aa(cc|bb) # matcha|b # no matchab|ba # matcha(b|c) # match 角色类 潜在字符的范围可以通过将它们括在方括号“ []”中来表示为字符类。 前导^否定字符类。 允许的形式为 [abc] # a or b or c[a-c] # a or b or c[-abc] # - or a or b or c[abc\\-] # - or a or b or c[^a-c] # any character except a or b or c[^a-c] # any character except a or b or c[-abc] # - or a or b or c[abc\\-] # - or a or b or c 请注意破折号“-”表示字符范围除非它是第一个字符或用反斜杠转义。对于字符串“ abcd” ab[cd] # match[a-d] # match[^a-d] # no match4.9 TermRangeQuery 一个Query 该Query匹配一系列术语内的文档。 此查询寻找字词落入根据提供的范围中的文件相匹配String#compareTo(String) 除非一个Collator被提供。 它不适用于数字范围。 这是一个如何在lucene中使用TermRangeQuery的示例 private Query createQuery(String field, DateOperator dop) throws UnsupportedSearchException { Date date dop.getDate(); DateResolution res dop.getDateResultion(); DateTools.Resolution dRes toResolution(res); String value DateTools.dateToString(date, dRes); switch(dop.getType()) {case ON:return new TermQuery(new Term(field ,value));case BEFORE: return new TermRangeQuery(field, DateTools.dateToString(MIN_DATE, dRes), value, true, false);case AFTER: return new TermRangeQuery(field, value, DateTools.dateToString(MAX_DATE, dRes), false, true);default:throw new UnsupportedSearchException();} }4.10 NumericRangeQuery 一个NumericRangeQuery 它匹配指定范围内的数值。 要使用此功能您必须先为数字索引。我们可以将NumericRangeQuery与TermQuery结合使用 String termQueryString title:\\hello world\\; Query termQuery parser.parse(termQueryString); Query pageQueryRange NumericRangeQuery.newIntRange(page_count, 10, 20, true, true); Query query termQuery.combine(new Query[]{termQuery, pageQueryRange});4.11 ConstantScoreQuery 包含另一个查询或过滤器的查询对于与过滤器或查询匹配的每个文档仅返回等于查询提升的常数分数。 因此对于查询它仅去除所有分数并返回常数。 {constant_score : {filter : {term : { user : kimchy}},boost : 1.2} } 筛选器对象只能容纳筛选器元素不能容纳查询。 过滤器比查询查询要快得多因为它们不执行任何评分尤其是在缓存时。查询还可以包装在constant_score查询中 {constant_score : {query : {term : { user : kimchy}},boost : 1.2} }4.12 DisjunctionMaxQuery 一个查询该查询生成由其子查询生成的文档并集并使用任何子查询生成的该文档的最高分数对每个文档评分并为任何其他匹配的子查询加上平局打破增量。 在具有不同提升因子的多个字段中搜索单词时这很有用这样就无法将这些字段等效地组合到单个搜索字段中。 我们希望主要分数是与最高提升相关的分数而不是字段分数的总和如布尔查询所给出的那样。 如果查询是“白化大象”则这确保匹配一个字段的“白化”和匹配另一个字段的“大象”获得比匹配两个字段的“白化”更高的分数。 要获得此结果请同时使用Boolean Query和DisjunctionMaxQuery 对于每个术语DisjunctionMaxQuery在每个字段中进行搜索同时将这些DisjunctionMaxQuery的集合组合为BooleanQuery 。 打破平局功能使多个字段中包含相同术语的结果比仅在多个字段中最好的包含该术语的结果更好地进行判断而不会与多个字段中两个不同术语的更好情况混淆。默认的tie_breaker是0.0。此查询映射到Lucene DisjunctionMaxQuery 。 {dis_max : {tie_breaker : 0.7,boost : 1.2,queries : [{term : { age : 34 }},{term : { age : 35 }}]} }4.13 MatchAllDocsQuery 与所有文档匹配的查询。 映射到Lucene MatchAllDocsQuery 。 {match_all : { } } 哪些也可以与之关联 {match_all : { boost : 1.2 } }翻译自: https://www.javacodegeeks.com/2015/09/integrating-lucene-search-into-an-application.htmljava集成lucene
http://www.zqtcl.cn/news/238708/

相关文章:

  • 新站网站如何做Seo那个网站点击率高
  • 个体做外贸的网站罗浮视窗网站建设
  • 产品企业网站上海关键词排名优化公司
  • 网站APP推广东莞人才招聘网58
  • 惠州网站建设哪家好建筑网站建设方案
  • 淄博网站制作营销wordpress 轮播图自适应
  • 响应式网站切图网站入口首页
  • 静态网站开发考虑什么网上推广引流的有用吗?
  • 网站建设包括哪些东西工业设计最好的公司
  • 网站建设方案书 模板网站地址做图标
  • 财务公司网站模板wordpress域名文件夹
  • 网站标题写什么作用是什么网络推广学校培训
  • 看室内设计效果图网站网站建设需要条件
  • html教程网站做网站用哪个服务器
  • 济南网站建设 推搜点江阴响应式网站建设
  • 网站建设在windos的设置crm平台
  • 企业如何建设网站高端商城网站建设
  • 怎么制作app网站以下什么是网页制作软件
  • 网站定制一般价格多少石家庄做网站wsjz
  • 如何建立外卖网站网站可以做的活动推广
  • 手机号注册网站cms影视源码采集
  • 网站建设网页设计培训班连云港seo优化
  • 成都网站建设公司招聘定制衣服
  • 做访问量高的网站如何建立公司网站推广
  • 做公司的网站有哪些简述企业网站建设的流程
  • 网站免费获取验证码怎么做软件开发的工作
  • 萌宝宝投票网站怎么做正规网站建设多少费用
  • 产权交易网站建设方案耐克网站建设的历程
  • 网站建设投入及费用wordpress 收录插件
  • 东莞网站制作个性化清溪网站仿做