<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:53:53 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-380] basic text indexing and search</title>
                <link>https://jira.mongodb.org/browse/SERVER-380</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Simple text indexing.&lt;br/&gt;
Initial version will be marked as experimental, so has to be turned on with a command line flag or at runtime.&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;db.adminCommand( { setParameter : &quot;*&quot;, textSearchEnabled : true } );&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;OR&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;./mongod --setParameter textSearchEnabled=true&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;Only works via &quot;text&quot; command currently.&lt;/p&gt;

&lt;p&gt;Features:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;parsing + stemming for latin languages&lt;/li&gt;
	&lt;li&gt;multi-word scoring&lt;/li&gt;
	&lt;li&gt;phrase matching&lt;/li&gt;
	&lt;li&gt;word negation&lt;/li&gt;
	&lt;li&gt;weights per field&lt;/li&gt;
	&lt;li&gt;additional suffix index fields for coverings&lt;/li&gt;
	&lt;li&gt;additional prefix index fields for partitioning&lt;/li&gt;
	&lt;li&gt;specify language per document&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Simple Example:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;gt; db.foo.insert( { _id: 1 , desc: &quot;the dog is running&quot; } )&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;gt; db.foo.insert( { _id: 2 , desc: &quot;the cat is walking&quot; } )&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;gt; db.foo.ensureIndex( { &quot;desc&quot;: &quot;text&quot; } )&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;gt; db.foo.runCommand( &quot;text&quot;, { search : &quot;walk&quot; } )&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;	&quot;queryDebugString&quot; : &quot;walk||||||&quot;,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;	&quot;language&quot; : &quot;english&quot;,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;	&quot;results&quot; : [&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;		{&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;			&quot;score&quot; : 0.75,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;			&quot;obj&quot; : {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;				&quot;_id&quot; : 2,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;				&quot;desc&quot; : &quot;the cat is walking&quot;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;			}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;		}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;	],&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;	&quot;stats&quot; : {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;		&quot;nscanned&quot; : 1,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;		&quot;nscannedObjects&quot; : 0,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;		&quot;n&quot; : 1,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;		&quot;timeMicros&quot; : 330&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;	},&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;	&quot;ok&quot; : 1&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</description>
                <environment></environment>
        <key id="10789">SERVER-380</key>
            <summary>basic text indexing and search</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="eliot">Eliot Horowitz</assignee>
                                    <reporter username="electic">Raj Kadam</reporter>
                        <labels>
                    </labels>
                <created>Wed, 21 Oct 2009 23:11:48 +0000</created>
                <updated>Fri, 7 Apr 2023 12:58:48 +0000</updated>
                            <resolved>Mon, 7 Jan 2013 20:59:17 +0000</resolved>
                                                    <fixVersion>2.3.2</fixVersion>
                                    <component>Index Maintenance</component>
                    <component>Querying</component>
                                        <votes>239</votes>
                                    <watches>192</watches>
                                                                                                                <comments>
                            <comment id="324341" author="rassi@10gen.com" created="Mon, 29 Apr 2013 20:17:03 +0000"  >&lt;p&gt;Correct, that&apos;s the in-development syntax Eliot was referring to in his comment &quot;yes, likely to be in 2.6&quot;.&lt;/p&gt;</comment>
                            <comment id="324339" author="bkostadinovic" created="Mon, 29 Apr 2013 20:14:19 +0000"  >&lt;p&gt;Ok in other words &quot;No, but hopefully coming with version 2.5&quot; since that one is Unresolved&lt;/p&gt;</comment>
                            <comment id="324333" author="rassi@10gen.com" created="Mon, 29 Apr 2013 20:08:02 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=bkostadinovic&quot; class=&quot;user-hover&quot; rel=&quot;bkostadinovic&quot;&gt;bkostadinovic&lt;/a&gt;: yes, see &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-9392&quot; title=&quot;Create compatible text-search query syntax&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-9392&quot;&gt;&lt;del&gt;SERVER-9392&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="324280" author="bkostadinovic" created="Mon, 29 Apr 2013 19:17:57 +0000"  >&lt;p&gt;Eliot is there an option to do full text search but sort per field instead of score?&lt;/p&gt;</comment>
                            <comment id="259297" author="alainc" created="Wed, 6 Feb 2013 16:00:10 +0000"  >&lt;p&gt;I think the french stop word list is also not as accurate as it can (contains some nouns and a lot are missing).&lt;br/&gt;
You can find a good one (at least for french, but I suppose some others...) &lt;a href=&quot;http://members.unine.ch/jacques.savoy/clef/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;here&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="249803" author="eliot" created="Fri, 25 Jan 2013 18:16:54 +0000"  >&lt;p&gt;steve - yes, likely to be in 2.6 (returning a cursor and/or including in normal query language).&lt;/p&gt;</comment>
                            <comment id="249798" author="steve.schlotter" created="Fri, 25 Jan 2013 18:14:42 +0000"  >&lt;p&gt;Wow wow wow!  Thank you for this feature!  Is it on the road map to return a cursor instead of a document?  &lt;/p&gt;</comment>
                            <comment id="249626" author="marians" created="Fri, 25 Jan 2013 14:50:29 +0000"  >&lt;p&gt;Issue on German stop word list created as &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-8334&quot; title=&quot;German stop word list contains non-stopwords&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-8334&quot;&gt;&lt;del&gt;SERVER-8334&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="249599" author="turneliusz" created="Fri, 25 Jan 2013 14:14:53 +0000"  >&lt;p&gt;Dan Pasette, done&lt;/p&gt;</comment>
                            <comment id="249594" author="dan@10gen.com" created="Fri, 25 Jan 2013 14:06:33 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=marians&quot; class=&quot;user-hover&quot; rel=&quot;marians&quot;&gt;marians&lt;/a&gt;, can you open a new ticket for the German stop word list?  It would be helpful to get your feedback.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=turneliusz&quot; class=&quot;user-hover&quot; rel=&quot;turneliusz&quot;&gt;turneliusz&lt;/a&gt;, can you also open a new ticket for Polish support?&lt;/p&gt;</comment>
                            <comment id="249507" author="turneliusz" created="Fri, 25 Jan 2013 11:24:39 +0000"  >&lt;p&gt;No Polish support ;( Can I help somehow with that?&lt;/p&gt;</comment>
                            <comment id="249497" author="marians" created="Fri, 25 Jan 2013 11:00:35 +0000"  >&lt;p&gt;Great to see full text search come to life!&lt;/p&gt;

&lt;p&gt;I&apos;d have questions on the German stop word list (&lt;a href=&quot;https://github.com/mongodb/mongo/blob/master/src/mongo/db/fts/stop_words_german.txt&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/blob/master/src/mongo/db/fts/stop_words_german.txt&lt;/a&gt;). What basis has it been generated from? Where would I add suggestions for improvement?&lt;/p&gt;

&lt;p&gt;As it is currently, it contains nouns that definitely shouldn&apos;t be in a default stop word list, e.g. &quot;nutzung&quot; (usage), &quot;schreiben&quot; (letter / writing), &quot;arbeiten&quot; (works), &quot;mann&quot; (man), &quot;ehe&quot; (marriage), &quot;frau&quot; (woman), &quot;bedarf&quot; (need), &quot;ende&quot; (end), &quot;fall&quot; (case) etc.&lt;/p&gt;

&lt;p&gt;Should I open a new ticket or directly send a pull request?&lt;/p&gt;</comment>
                            <comment id="236141" author="mitchitized" created="Thu, 10 Jan 2013 14:59:54 +0000"  >&lt;p&gt;Will do, thanks for the encouraging words. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="236111" author="eliot" created="Thu, 10 Jan 2013 14:36:37 +0000"  >&lt;p&gt;Mitch, definitely not for 2.4, but certainly likely in the future.&lt;br/&gt;
Can you open a new ticket for that?&lt;/p&gt;</comment>
                            <comment id="235997" author="mitchitized" created="Thu, 10 Jan 2013 11:22:11 +0000"  >&lt;p&gt;Wanting to log a use case that I suspect will be a bigger issue moving forward - we created a lithium plugin for is_translatable behavior, where a single document can have embedded properties for each language supported by a given app. This is also starting to crop up in the rails world, and I suspect it will grow in other php frameworks as well.&lt;/p&gt;

&lt;p&gt;One of the major draws to MongoDB is the document model, and forcing the language at the top level is counter to that approach (at least it is for some of us).&lt;/p&gt;

&lt;p&gt;Would it be too difficult to be able to index nested properties by language, instead of forcing the language for the entire document?&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;{&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  name : &quot;Mitch Pirtle&quot;,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  location : [&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    &quot;language&quot; : &quot;English&quot;,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    &quot;country&quot; : &quot;Italy&quot;,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    &quot;city&quot; : &quot;Turin&quot;,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    &quot;profile&quot; : &quot;I write code and play bass guitar.&quot;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  },&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  {&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    &quot;language&quot; : &quot;Italian&quot;,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    &quot;country&quot; : &quot;Italia&quot;,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    &quot;city&quot; : &quot;Torino&quot;,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    &quot;profile&quot; : &quot;Scrivo il codice e il basso suonare la chitarra.&quot;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;  }&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;Can I index location.profile based on the specified language? Just an example, but hopefully gets my request across clearly.&lt;/p&gt;</comment>
                            <comment id="235985" author="us" created="Thu, 10 Jan 2013 11:00:47 +0000"  >&lt;p&gt;first of all: many thanks to you for implementing this feature. now, as i can see in what direction you are working, i would like to ask the following question:&lt;br/&gt;
i&apos;m storing file attachments of various formats (pdf, ms office, images and so on) via fsgrid and i can parse those attachments with apache tika for indexable text content. i get this indexable text content as a set of strings. as you can think of, the resulting sets could be large (up to megabytes). is it a suitable use case, to store those parsing results inside a field that will be text-indexed the way that you have implemented now? &lt;/p&gt;</comment>
                            <comment id="224455" author="auto" created="Wed, 26 Dec 2012 10:38:09 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-12-26T01:00:42Z&apos;, u&apos;email&apos;: u&apos;tad@10gen.com&apos;, u&apos;name&apos;: u&apos;Tad Marshall&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-380&quot; title=&quot;basic text indexing and search&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-380&quot;&gt;&lt;del&gt;SERVER-380&lt;/del&gt;&lt;/a&gt; Fix access violation on Windows&lt;/p&gt;

&lt;p&gt;Make copy of StringData passed to Tokenizer in case the original&lt;br/&gt;
was in a temporary.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/80507d135a22723e95f5b1be9938c3bf5309d273&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/80507d135a22723e95f5b1be9938c3bf5309d273&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="224034" author="auto" created="Tue, 25 Dec 2012 17:58:42 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-12-25T17:42:47Z&apos;, u&apos;email&apos;: u&apos;eliot@10gen.com&apos;, u&apos;name&apos;: u&apos;Eliot Horowitz&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-380&quot; title=&quot;basic text indexing and search&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-380&quot;&gt;&lt;del&gt;SERVER-380&lt;/del&gt;&lt;/a&gt;: use unique colletions for each test&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/2ae88e148381a437f6a8bdbaab09e5200cad4b68&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/2ae88e148381a437f6a8bdbaab09e5200cad4b68&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="224033" author="auto" created="Tue, 25 Dec 2012 17:58:40 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-12-25T17:40:37Z&apos;, u&apos;email&apos;: u&apos;eliot@10gen.com&apos;, u&apos;name&apos;: u&apos;Eliot Horowitz&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-380&quot; title=&quot;basic text indexing and search&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-380&quot;&gt;&lt;del&gt;SERVER-380&lt;/del&gt;&lt;/a&gt;: When testing via mongos, have to enable on all shards&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/d6cf0d675c7067e1a26ae5ee4ddd6dc16ea2feb2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/d6cf0d675c7067e1a26ae5ee4ddd6dc16ea2feb2&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="224021" author="auto" created="Tue, 25 Dec 2012 17:26:39 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-12-25T17:08:28Z&apos;, u&apos;email&apos;: u&apos;eliot@10gen.com&apos;, u&apos;name&apos;: u&apos;Eliot Horowitz&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-380&quot; title=&quot;basic text indexing and search&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-380&quot;&gt;&lt;del&gt;SERVER-380&lt;/del&gt;&lt;/a&gt;: Experimental text search indexing&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/f201972ecc87f099777e1c61f269998f4399caf4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/f201972ecc87f099777e1c61f269998f4399caf4&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="224020" author="auto" created="Tue, 25 Dec 2012 17:26:36 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2012-12-25T17:07:05Z&apos;, u&apos;email&apos;: u&apos;eliot@10gen.com&apos;, u&apos;name&apos;: u&apos;Eliot Horowitz&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-380&quot; title=&quot;basic text indexing and search&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-380&quot;&gt;&lt;del&gt;SERVER-380&lt;/del&gt;&lt;/a&gt;: Add snowball stemmer&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo/commit/d2df300721805ace411b5d1a87cb4bf6d8a51ff3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo/commit/d2df300721805ace411b5d1a87cb4bf6d8a51ff3&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="192897" author="vilhelmk" created="Sun, 18 Nov 2012 15:44:13 +0000"  >&lt;p&gt;IMHO a integration to a proper search engine is a far better approach than implementing a feature like this. If full-text gets implemented in MongoDB I very much doubt it ever will be as flexible and feature rich as something that&apos;s specialized for the job.&lt;/p&gt;

&lt;p&gt;Even though for example MySQL and other databases has full-text people have chosen to use other tools for search for ages, just because of this. I probably would choose something like ElasticSearch again if mongodb were to support basic full-text search, because of the extended functionality ES gives me. If my needs of full-text-search wasn&apos;t big, maybe a sentence here and there, I would probably just do the multikeys-thing though.&lt;/p&gt;

&lt;p&gt;Roughly: It&apos;s about choosing the right tool for the job, where each tool is specialized for each task.&lt;/p&gt;</comment>
                            <comment id="192594" author="tegan" created="Sun, 18 Nov 2012 04:49:15 +0000"  >&lt;p&gt;@Randolph Tan; firstly, thank you very much for a pointer to a very valid option I didn&apos;t know existed. Again Thanks, and I mean that.&lt;/p&gt;

&lt;p&gt;It somehow just smells wrong though that you guys are engineering integration points to services that this feature would presumably make redundant?&lt;/p&gt;

&lt;p&gt;Or am I just way off base?&lt;/p&gt;</comment>
                            <comment id="192097" author="georges.polyzois@gmail.com" created="Sat, 17 Nov 2012 10:01:45 +0000"  >&lt;p&gt;We use elasticsearch and mongo and it works great so far. Queries are really fast even with 100 millions of docuements. The feature set and ease of use are really great - and &lt;/p&gt;

&lt;p&gt;There is some pain of course in keeping data in sync between the two. One might even consider just using ES depending on use case &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;



&lt;p&gt;Good luck&lt;/p&gt;</comment>
                            <comment id="191914" author="renctan" created="Sat, 17 Nov 2012 02:30:05 +0000"  >&lt;p&gt;Hi Tegan,&lt;/p&gt;

&lt;p&gt;While the feature is not yet ready and if you plan to use elastic search, I encourage you to check out the mongo-connector project:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.mongodb.org/post/29127828146/introducing-mongo-connector&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://blog.mongodb.org/post/29127828146/introducing-mongo-connector&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="191896" author="tegan" created="Sat, 17 Nov 2012 01:52:46 +0000"  >&lt;p&gt;In my mind this is heading into the very definition of Vapor-Ware; something that&apos;s been promised from Oct 2009 and still hasn&apos;t even hit nightly builds in Nov 2012! It all feels a little like wordage to convince you to not head towards couch or riak.&lt;/p&gt;

&lt;p&gt;Now I&apos;ve got to go figure out how to try and bridge Mongo and elasticsearch! It&apos;s going to get ugly!&lt;/p&gt;</comment>
                            <comment id="184723" author="tegan" created="Fri, 9 Nov 2012 19:53:31 +0000"  >&lt;p&gt;Any update on when work will start on this? I&apos;m desperate for it!&lt;/p&gt;</comment>
                            <comment id="175548" author="artem" created="Tue, 16 Oct 2012 17:36:16 +0000"  >&lt;p&gt;Do you plan to make this feature in 2012 ?&lt;/p&gt;</comment>
                            <comment id="141593" author="eliot" created="Tue, 10 Jul 2012 21:57:19 +0000"  >&lt;p&gt;There is still no firm date for when this is going to be done, but its definitely on the short list of new features.&lt;/p&gt;</comment>
                            <comment id="141589" author="djfobbz" created="Tue, 10 Jul 2012 21:54:41 +0000"  >&lt;p&gt;where do we stand on this? no response from development team is aggravating to say the least.&lt;/p&gt;</comment>
                            <comment id="139665" author="tegan" created="Wed, 4 Jul 2012 18:08:09 +0000"  >&lt;p&gt;Any update on when full-text search is going to start appearing in nightly builds? Is this still realistic for 2012 as stated in the Nov 16 2011 comment? Thanks!&lt;/p&gt;</comment>
                            <comment id="110073" author="chengas123" created="Mon, 16 Apr 2012 04:03:37 +0000"  >&lt;p&gt;Elastic search would be FAR easier to use with MongoDB if there were an elasticsearch river for MongoDB.  There&apos;d need to be a trigger or post-commit hook (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-124&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/SERVER-124&lt;/a&gt;) for that to happen though.&lt;/p&gt;</comment>
                            <comment id="106881" author="darkstar" created="Thu, 5 Apr 2012 08:53:01 +0000"  >&lt;p&gt;I also use ElasticSearch alongside MongoDB. I had to install &amp;amp; configure it just to be able to do some keyword based searches (the workaround with arrays in MongoDB was not good enough due to text size in the database). I had to write additional code in my web app just to make the full text search work. I have to constantly synchronize the documents between Mongo and ES and bend over backwards to make the queries work (there are geospatial queries involved, ES &amp;amp; Mongo are not 100% on the same page). All I need is to be able to do full text queries on a couple fields. This was a serious letdown for me. Now I have to maintain &amp;amp; support two services just to get some queries to work. I&apos;m dying to see this feature implemented.&lt;/p&gt;</comment>
                            <comment id="106877" author="turneliusz" created="Thu, 5 Apr 2012 08:25:00 +0000"  >&lt;p&gt;@rgpublic, I&apos;m actually using this solution and it&apos;s PAIN to have translator of queries to two databases, to MongoDB and ElasticSearch. The synchronization is done manually, ElasticSearch needs MORE fields for example to sort on RAW data - because ES is just a bunch of indexes by default which can&apos;t be even sorted by original value. So it&apos;s making queries translator EVEN MORE complex. Please guys, don&apos;t give me examples of how easy it is to make bridge between MongoDB and other full-text engine. It&apos;s not. It&apos;s not if you are doing more serious queries than &quot;find me people that have foo bar in their description&quot;. So please don&apos;t block this idea. I believe and it&apos;s practically true, that there is no serious database system without simple full-text capabilities. MongoDB started to be &quot;best of both worlds&quot; and it should grow it&apos;s functionality to provide functionality of already existing and proven solutions. It&apos;s not a accident that other databases have full-text. Really, it&apos;s not.&lt;/p&gt;</comment>
                            <comment id="106639" author="rgpublic" created="Wed, 4 Apr 2012 19:02:09 +0000"  >&lt;p&gt;I don&apos;t agree either. Not only map/reduce but basically any search using a &lt;b&gt;combination&lt;/b&gt; of an ordinary query and fulltext search would be impossible. In fact, you can already install say ElasticSearch and keep that in sync with MongoDB manually. The problem comes up if you want to run a combined query. You need to learn and use two completely different query languages, download all results (possibly a lot) to the client and recombine them there.&lt;/p&gt;

&lt;p&gt;BTW: If &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-153&quot; title=&quot;javascript sort helper for custom sorting / indexing&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-153&quot;&gt;SERVER-153&lt;/a&gt; ever gets implemented before this we could create an index on &apos;field.split(&quot; &quot;)&apos; and query that to get a simple fulltext search &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; Just a crazy thought...&lt;/p&gt;</comment>
                            <comment id="106483" author="turneliusz" created="Wed, 4 Apr 2012 14:35:39 +0000"  >&lt;p&gt;@Glenn Maynard, I don&apos;t agree. What about map/reduce in queries using in the same time fulltext?&lt;/p&gt;</comment>
                            <comment id="106478" author="glenn" created="Wed, 4 Apr 2012 14:30:43 +0000"  >&lt;p&gt;-1 to integrating an actual FTS engine into Mongo.  Mongo should provide generic building blocks for implementing features.  Complex, domain-specific features like FTS should be layered on top of it.&lt;/p&gt;

&lt;p&gt;Features like plugins that can receive notification of changes so they can update indexes sounds more reasonable.&lt;/p&gt;</comment>
                            <comment id="79326" author="skall.paul@gmail.com" created="Thu, 12 Jan 2012 13:22:47 +0000"  >&lt;p&gt;MongoLantern can also be an good option for fulltext searching directly with mongodb without installing any new software. Though it&apos;s having few optimization issues for very large database. Hope it will be fixed in later versions.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://sourceforge.net/projects/mongolantern/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://sourceforge.net/projects/mongolantern/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="72360" author="rubo" created="Mon, 12 Dec 2011 07:56:10 +0000"  >&lt;p&gt;Having the ability to perform full text search across the mongodb collections would be amazing.  &lt;br/&gt;
This is a major feature that is missing from this system.&lt;/p&gt;</comment>
                            <comment id="67216" author="eliot" created="Wed, 16 Nov 2011 18:47:59 +0000"  >&lt;p&gt;There is a likely design.&lt;/p&gt;

&lt;p&gt;There are just more pressing things to work on at the moment.&lt;/p&gt;

&lt;p&gt;We&apos;re this makes it in 2012&lt;/p&gt;</comment>
                            <comment id="67213" author="dlee" created="Wed, 16 Nov 2011 18:44:48 +0000"  >&lt;p&gt;Is there a design waiting to be implemented? Or is there no accepted design proposal yet?&lt;/p&gt;

&lt;p&gt;It looks like this feature request is in Planning Bucket A. What does the timeline look like for Planning Bucket A?&lt;/p&gt;</comment>
                            <comment id="67204" author="eliot" created="Wed, 16 Nov 2011 18:32:28 +0000"  >&lt;p&gt;Not dead - just hasn&apos;t been implemented yet.&lt;/p&gt;</comment>
                            <comment id="66351" author="djfobbz" created="Sat, 12 Nov 2011 04:25:12 +0000"  >&lt;p&gt;is this ticket dead? been over 2 years with no resolutions...admins pls update! thx&lt;/p&gt;</comment>
                            <comment id="48481" author="felixgao" created="Sat, 13 Aug 2011 23:25:36 +0000"  >&lt;p&gt;It is been over 2 years now, what is the current status of this ticket?&lt;/p&gt;</comment>
                            <comment id="41042" author="hbf" created="Thu, 7 Jul 2011 08:46:36 +0000"  >&lt;p&gt;From the issue comments given so far, I read that lots of people want a simple, out-of-the-box full-text search solution. On the other hand, others want more advanced, external search solutions to be integrated. These seem to be two different concerns.&lt;/p&gt;

&lt;p&gt;If I understand correctly then both concerns need support by MongoDB (which is not yet available, or underway): namely that a (simple or external) search solution needs to be able to learn when to index what and when to update the index. Maybe such a layer could be added and afterwards people can come up with different &quot;plugins&quot; that realize out-of-the-box search/integration with external search solutions? I would be happy to work on the latter but to do so, I would very much welcome an API where my search solutions can plug in (otherwise I will have to be a MongoDB internals expert).&lt;/p&gt;</comment>
                            <comment id="41041" author="rgpublic" created="Thu, 7 Jul 2011 08:26:38 +0000"  >&lt;p&gt;OK. Don&apos;t want to add too much spam, but since everyone seems to be writing about their ideas on this top-voted issue, here goes:&lt;/p&gt;

&lt;p&gt;For our company, what&apos;s &lt;b&gt;really&lt;/b&gt; great about MongoDB is its innovation that goes along the lines of: Create a database that finally does what IMHO it should have done all the years before i.e. dont add lots of additional work for a developer (fighting with SQL statements, data types, etc), but instead make it as easy as possible to 1) get data in 2) get data out (by searching for it). Consequently, for a full text solution to be &quot;Mongo-like&quot;, I guess it should most importantly be &lt;b&gt;seamless&lt;/b&gt;! The user shouldnt notice there is an external engine neither during installation nor during daily work. There shouldnt be any difference in use between a normal index and a fulltext index. You should be able to create and query them just like any other index. I don&apos;t think proposed solutions here that aim to couple projects like ElasticSearch (especially not projects of a different programming language like Java) would ever be able to meet that criterion properly. Even worse, if they are kept in sync via triggers or the like. I might be wrong, but I anticipate lots of problems if MongoDB fulltext search would work like this - like index being out of sync etc. Rather, I would prefer if the fulltext index would simply work like described here (more features added later step by step):&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://api.mongodb.org/wiki/current/Full%20Text%20Search%20in%20Mongo.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://api.mongodb.org/wiki/current/Full%20Text%20Search%20in%20Mongo.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Only the specific details (like having to create an additional field with the words-array) should be &quot;hidden&quot; from the user. If one could create functional indexes (different issue) then at least one would be able to create such an index on an array of words easier without those ugly auxiliary fields.&lt;/p&gt;
</comment>
                            <comment id="40974" author="trbs" created="Wed, 6 Jul 2011 23:58:22 +0000"  >&lt;p&gt;I personally don&apos;t see how any non c/c++ system, specially not java/jvm, could be used as in embedded or internal searching system for MongoDB.&lt;/p&gt;

&lt;p&gt;It seems to me that is not worth the time talking about in this context. For these kinds of integration developing a good external framework would be&lt;br/&gt;
the way forward.&lt;/p&gt;

&lt;p&gt;Example I&apos;m using Xapian (a project which I do consider &apos;possibly embeddable by MongoDB) in several of my MongoDB projects and that works perfectly&lt;br/&gt;
fine as a coupled system. When doing a highly specialized search of when MongoDB is just one of the sources you will often wind up with an externalized search&lt;br/&gt;
engine anyways.&lt;/p&gt;

&lt;p&gt;For an integrated search I agree that something good, simple and fitting 90% of the common use cases would be much better then specialized search.&lt;/p&gt;

&lt;p&gt;There search features particularly interesting for MongoDB, like search queries across multiple collections. How to handle embedded searching in a sharded&lt;br/&gt;
environment. Using replica sets to scale searching. Handling embedded documents and/or deep document structures. Etc...&lt;/p&gt;

</comment>
                            <comment id="40542" author="walec51" created="Tue, 5 Jul 2011 09:00:48 +0000"  >&lt;p&gt;synonym and most used word suggestion would be also nice as part of this feature&lt;/p&gt;</comment>
                            <comment id="39268" author="hbf" created="Sun, 26 Jun 2011 11:52:08 +0000"  >&lt;p&gt;I am also interested in this. If I understand correctly, a (non-application-level) integration of ElasticSearch (or Solr, or similar technology) would be much easier if triggers were available (&lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-124&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.mongodb.org/browse/SERVER-124&lt;/a&gt;).&lt;/p&gt;</comment>
                            <comment id="35217" author="bryangreen" created="Mon, 30 May 2011 22:23:35 +0000"  >&lt;p&gt;I am also interested in the solution involving ElasticSearch. I&apos;ve converted from MySQL to PostgreSQL to ElasticSearch for fulltext search. I think I&apos;m going to use ES + mongodb + PostgreSQL (for now.) I&apos;d like some more elasticsearch rivers...&lt;/p&gt;</comment>
                            <comment id="28797" author="gerhardb" created="Tue, 12 Apr 2011 11:18:59 +0000"  >&lt;p&gt;Just stumpled over ElasticSearch, seems like the perfect addin for mongodb, or what about merging? ElasticMongo sound good in my ears..&lt;/p&gt;</comment>
                            <comment id="23099" author="tshawkins" created="Fri, 4 Feb 2011 03:31:17 +0000"  >&lt;p&gt;Check out ElasticSearch, Lucene Based, but fully utf-8, REST and JSON based. In most cases you can just pull a record from mongo and push it straight to ES just removing the &quot;_id&quot; field. ES then generates its own _id field (actually called &quot;_id&quot; too) which can be the contents of your original mongo record id as a string (you just need to put the MongoId as the identity on the PUT call to add the record to the database)  Supports embedded documents, uses same dot notation for specifying embedded doc members.  &lt;/p&gt;

&lt;p&gt;Supports incremental updates, sharded indices, faceted search. &lt;/p&gt;

&lt;p&gt;Working with ES &quot;feels&quot; just like working with mongo, simular interfaces, simular simplicity. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.elasticsearch.com/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.elasticsearch.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Im working on an oplog observer that will allow ES to track changes to Mongodb collections&lt;/p&gt;</comment>
                            <comment id="23097" author="eliot" created="Fri, 4 Feb 2011 03:07:47 +0000"  >&lt;p&gt;We have some more ideas here.&lt;br/&gt;
Seems likely to be in 2.2&lt;/p&gt;</comment>
                            <comment id="21455" author="rogerbinns" created="Wed, 15 Dec 2010 20:38:28 +0000"  >&lt;p&gt;After doing some work using MongoDB stored content and using Solr (server wrapper over Lucene) as the FTS engine, these are parts of my experience that mattered the most:&lt;/p&gt;

&lt;p&gt;You need a list of  tokenizers that run over the source data and queries.  eg you need to look at quoting, embedded punctuation, capitalization etc to handle stuff like: can&apos;t. I.B.M, big:deal, will.i.am, i.cant.believe.this, up/down, PowerShot etc?&lt;/p&gt;

&lt;p&gt;A list of filters that work on the tokens - some would replace tokens (eg you replace tokens with upper case to be entirely lower case) while others add (eg you add double metaphone representations, stemmed).  Another example is a filter that replaces &quot;4&quot; with &quot;(4 OR four)&quot;.  If you can apply a type to the tokens then that is great so smith becomes &quot;(smith OR DM:SMT)&quot; and running becomes &quot;(running OR STEM:run)&quot;.  This lets you match double metaphone against double metaphone, stems against stems without &quot;polluting&quot; the original words.&lt;/p&gt;

&lt;p&gt;Some way of boosting certain results.  For example if using a music corpus then searches for &quot;michael&quot; should have higher matches for &quot;Michael Jackson&quot; than &quot;Michael Johnson&quot;.  Note that this is not the same as sorting the results since other tokens in the query also affect scoring.  eg &quot;Michael Rooty&quot; needs to pick Michael Johnson&apos;s &quot;Rooty Toot Toot for the Moon&quot; and not any MJ song despite all MJ songs having a higher boost.&lt;/p&gt;

&lt;p&gt;Multi-valued fields need to be handled correctly.  Solr/Lucene treat them as concatenated together.  For example a field name: [ &quot;Elvis Presley&quot;, &quot;The King&quot;] is treated as though it was &quot;Elvis Presley The King&quot;.  If your query is for &quot;King&quot; then they treat that as matching one of the four tokens whereas it matches one out of the three tokens of &quot;King of Siam&quot;.   The BM25 style weighting scheme (or something substantially similar) everyone uses takes the document length into account which causes problems with the concatenation.  Of course there will some documents where the multi-values should be concatenated and others where they are alternatives to each other as in my example.&lt;/p&gt;

&lt;p&gt;You need pagination of results which usually means an implementation that caches previous queries to quickly return later parts.&lt;/p&gt;

&lt;p&gt;Query debugging is important because you&apos;ll end up with unanticipated matches/scores and want to know why.  In Solr you add a query parameter (debugQuery=true) and it returns that information.  You can see what the tokenization and filtering did.  You can then also see for each result how the final score was computed (a tree structure).&lt;/p&gt;</comment>
                            <comment id="21453" author="plasma" created="Wed, 15 Dec 2010 19:54:29 +0000"  >&lt;p&gt;Unfortunately it appears as though wikipedia&apos;s data dumps are offline at the moment due to server trouble (&lt;a href=&quot;http://download.wikimedia.org/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://download.wikimedia.org/&lt;/a&gt;) but its about 30GB uncompressed to grab all of the English wiki pages (no history etc) which would probably be a neat data set to test against.&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;http://en.wikipedia.org/wiki/Wikipedia:Database_download&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://en.wikipedia.org/wiki/Wikipedia:Database_download&lt;/a&gt; for more info, perhaps an older copy is available as a torrent/mirrored somewhere you could use.&lt;/p&gt;</comment>
                            <comment id="21119" author="djfobbz" created="Mon, 6 Dec 2010 22:01:14 +0000"  >&lt;p&gt;@Eliot are you still looking for sample datasets with test cases? how large of a dataset would u like?&lt;/p&gt;</comment>
                            <comment id="21069" author="djfobbz" created="Sun, 5 Dec 2010 06:39:45 +0000"  >&lt;p&gt;+1 for embedded full text search functionality&lt;/p&gt;</comment>
                            <comment id="20288" author="eliot" created="Fri, 12 Nov 2010 22:28:26 +0000"  >&lt;p&gt;A good sphinx adapter would be good as well, but we want something embedded with no external depencies so for most cases you don&apos;t need any other systems.&lt;/p&gt;</comment>
                            <comment id="20287" author="mlen" created="Fri, 12 Nov 2010 22:23:52 +0000"  >&lt;p&gt;..and the Sphinx 1.10 (with RT) is only available as a beta (so far), and has a lot of bugs (see their&apos;s bug-tracker/forum). Tried use it on my project, but gave up.&lt;/p&gt;</comment>
                            <comment id="20286" author="dlee" created="Fri, 12 Nov 2010 22:01:28 +0000"  >&lt;p&gt;gf: The Sphinx real-time indexing is only available for SphinxQL, which is not a good option for MongoDB.&lt;/p&gt;</comment>
                            <comment id="20285" author="gf" created="Fri, 12 Nov 2010 21:59:21 +0000"  >&lt;p&gt;Mitch Pirtle: Check the sphinx site. &quot;Jul 19, 2010. Sphinx 1.10-beta is out: We&apos;re happy to release Sphinx 1.10-beta, with a new major version number that means, as promised, !!!&lt;span class=&quot;error&quot;&gt;Unable to render embedded object: File (real-time) not found.&lt;/span&gt;!! indexes support.&quot;&lt;/p&gt;</comment>
                            <comment id="20284" author="mitchitized" created="Fri, 12 Nov 2010 21:45:27 +0000"  >&lt;p&gt;Sphinx doesn&apos;t have partial updates to indexes IIRC. You&apos;d have to regenerate all indexes from scratch for every update.&lt;/p&gt;

&lt;p&gt;I&apos;ve been looking into Elastic Search as a workaround for now, but other priorities keep me from getting it done.&lt;/p&gt;</comment>
                            <comment id="20283" author="gf" created="Fri, 12 Nov 2010 21:41:07 +0000"  >&lt;p&gt;Eliot Horowitz: why don&apos;t you want to use Sphinx? Implementation is easy for sure. That&apos;s feature-rich and robust.&lt;/p&gt;</comment>
                            <comment id="20282" author="eliot" created="Fri, 12 Nov 2010 21:34:27 +0000"  >&lt;p&gt;Stemming for sure - phrase may or not be in version 1.&lt;/p&gt;</comment>
                            <comment id="20281" author="dlee" created="Fri, 12 Nov 2010 21:32:19 +0000"  >&lt;p&gt;That&apos;s great! Do you plan on supporting stemming and phrase matching?&lt;/p&gt;</comment>
                            <comment id="20278" author="eliot" created="Fri, 12 Nov 2010 21:10:35 +0000"  >&lt;p&gt;We have a proof of concept working in the lab - but want to make sure its rock solid before releasing&lt;/p&gt;</comment>
                            <comment id="19019" author="rogerbinns" created="Fri, 8 Oct 2010 18:01:10 +0000"  >&lt;p&gt;@Walt: There are already scoring algorithms developed and tuned over the years.  For example see BM25:&lt;/p&gt;

&lt;p&gt;  &lt;a href=&quot;http://en.wikipedia.org/wiki/Okapi_BM25&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://en.wikipedia.org/wiki/Okapi_BM25&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;BM25F would take into account multiple fields for a document (eg a title in addition to a body).&lt;/p&gt;

&lt;p&gt;There is an open source pure Python text search library Whoosh that implements this scoring algorithm hence providing some nice reference code.  I believe it is also part of Xapian etc.&lt;/p&gt;

&lt;p&gt;  &lt;a href=&quot;http://bitbucket.org/mchaput/whoosh/wiki/Home&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://bitbucket.org/mchaput/whoosh/wiki/Home&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="19017" author="shadowman131" created="Fri, 8 Oct 2010 17:30:49 +0000"  >&lt;p&gt;Yeah; per-word weighting:  Count occurrences of word.  Multiply occurrences by weight for that word&apos;s total weight in document.  Store in index.&lt;/p&gt;

&lt;p&gt;Per-document weighting:  Count occurrences of a single word, divide by total occurrence count for the indexed field (e.g. # of words).  Multiply this fraction by the specified index weight.  Store in index.&lt;/p&gt;

&lt;p&gt;Essentially, using weights to bound the effects of any single field in the full text index with respect to the total document score.  Maybe this is obvious and how it was going to be done anyway?  Admissibly, I don&apos;t have much experience with other full-text indexers... just what I&apos;ve done in experimenting with my own variation for awhile now.&lt;/p&gt;</comment>
                            <comment id="19016" author="eliot" created="Fri, 8 Oct 2010 17:20:39 +0000"  >&lt;p&gt;Can you describe exactly what you mean by per word and per document&lt;/p&gt;</comment>
                            <comment id="19011" author="shadowman131" created="Fri, 8 Oct 2010 16:57:39 +0000"  >&lt;p&gt;@Eliot Horowitz - Ah... Do you think it would be a possibility to provide per-document weights?  Titles are almost always short, but bodies are much more variable; in my opinion, it&apos;s not very fair to count a longer document as more pertinent to the subject requested.&lt;/p&gt;</comment>
                            <comment id="18975" author="eliot" created="Thu, 7 Oct 2010 16:55:03 +0000"  >&lt;p&gt;@walt - idea is per word if understand what you mean&lt;/p&gt;</comment>
                            <comment id="18970" author="shadowman131" created="Thu, 7 Oct 2010 15:36:09 +0000"  >&lt;p&gt;@Eliot Horowitz - Question about your above-mentioned ensureIndex(&lt;/p&gt;
{ title: 1, body: 0.2 }
&lt;p&gt;, &lt;/p&gt;
{ fullTextSearch: true }
&lt;p&gt;) API example; are these per-word weights or per-document weights?&lt;/p&gt;</comment>
                            <comment id="18221" author="eliot" created="Wed, 15 Sep 2010 15:10:03 +0000"  >&lt;p&gt;Ideally a data set and some test cases.  Don&apos;t need any code.&lt;/p&gt;</comment>
                            <comment id="18220" author="jbergstroem" created="Wed, 15 Sep 2010 15:07:36 +0000"  >&lt;p&gt;Eliot: I have a system using postgres to mongo (transition period) and xapian for full text search. What kind of input do you seek? (sorry, this isn&apos;t oss)&lt;/p&gt;</comment>
                            <comment id="18218" author="eliot" created="Wed, 15 Sep 2010 15:03:20 +0000"  >&lt;p&gt;Does anyone watching this case have a dataset and tests with another system (mysql,xapian,etc...)&lt;br/&gt;
Would be very helpful.&lt;/p&gt;</comment>
                            <comment id="17930" author="wonderman" created="Thu, 9 Sep 2010 09:19:33 +0000"  >&lt;p&gt;@Eliot Horowitz   iam really excitely expecting the full-text search functionality , it must be fantastic if it can support chinese language &lt;/p&gt;</comment>
                            <comment id="17817" author="klondike" created="Mon, 6 Sep 2010 00:21:32 +0000"  >&lt;p&gt;@dan - I&apos;d consider using your library if there were documentation - I have little experience with MongoDB plugins and I&apos;m not sure how to use your code. Phrasal search is important, but I would be fine using a solution that lacked it as a stopgap.&lt;/p&gt;

&lt;p&gt;@eliot - I&apos;ll be crossing my fingers, then. &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                            <comment id="17428" author="eliot" created="Thu, 26 Aug 2010 01:33:40 +0000"  >&lt;p&gt;@dan - whatever we do will definitely be embedded in the db written in c++&lt;/p&gt;</comment>
                            <comment id="17425" author="howthebodyworks" created="Thu, 26 Aug 2010 00:29:31 +0000"  >&lt;p&gt;@eric - So you didn&apos;t like our native Mongo search? Is phrasal searching the only show stopper?&lt;br/&gt;
@eliot - I&apos;m hoping you folks will use the work we did on out FTS for mongo itself. It has test suites and such. Of course, if you are going to roll a new one in raw C++ that will change things.&lt;/p&gt;</comment>
                            <comment id="17370" author="eliot" created="Wed, 25 Aug 2010 15:34:03 +0000"  >&lt;p&gt;Its being considered for 1.7.x&lt;br/&gt;
Not committed yet - though we&apos;d like to&lt;/p&gt;</comment>
                            <comment id="17369" author="klondike" created="Wed, 25 Aug 2010 15:33:05 +0000"  >&lt;p&gt;Is this still targeted for release in 1.7? I&apos;m gauging whether I should hold out, or go try to integrate with Solor.&lt;/p&gt;</comment>
                            <comment id="16617" author="mikejs" created="Mon, 9 Aug 2010 15:51:05 +0000"  >&lt;p&gt;I&apos;ve started work on a little tool (&lt;a href=&quot;http://github.com/mikejs/photovoltaic&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mikejs/photovoltaic&lt;/a&gt;) that uses mongo&apos;s replication internals to automatically keep a solr index up to date. It&apos;s rough around the edges but my FTS needs aren&apos;t very fancy.&lt;/p&gt;</comment>
                            <comment id="16567" author="howthebodyworks" created="Sat, 7 Aug 2010 02:19:21 +0000"  >&lt;p&gt;you can add phrasal searching to the library we have produced using simple javascript. patches welcome. we&apos;ve been keen to keep the library fast and simple so far, and haven&apos;t added phrasal search ad such because a well-ranked stemming search has done the job for us very well?&lt;/p&gt;

&lt;p&gt;As for real-time-ness... i guess that would require c++ level support, unless you were keen to implement the indexing function in a client library. mapreduce is currently the only option for non-blocking server-side JS execution.&lt;/p&gt;

&lt;p&gt;What do you mean by &quot;keyword search&quot; specifically?&lt;/p&gt;</comment>
                            <comment id="16560" author="robfromboulder" created="Fri, 6 Aug 2010 18:40:05 +0000"  >&lt;p&gt;I&apos;d also like to vote for these:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Search by keywords&lt;/li&gt;
	&lt;li&gt;Real-time&lt;/li&gt;
	&lt;li&gt;Allow for phrase searching&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I&apos;m all for keeping MongoDB simple as others have stated.  I agree how stemming/wildcards could be deferred to advanced cases.&lt;/p&gt;

&lt;p&gt;But if you leave out phrase searching, there&apos;s no advantage over just breaking words into an array, is there?&lt;/p&gt;</comment>
                            <comment id="16519" author="apgdb" created="Thu, 5 Aug 2010 18:47:17 +0000"  >&lt;p&gt;In case anyone is interested, I have written a prototype desktop application for which I need a database with text index/ search facility (with incremental updates). It runs on kubuntu if deb package python-storm is installed. It should run under Windows if you install enough things (Python 2.6, Qt, PyQt, Canonical Storm).&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://kde-apps.org/content/show.php/Knowledge?content=111504&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://kde-apps.org/content/show.php/Knowledge?content=111504&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;article here&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://dot.kde.org/2010/06/29/knowledge-different-approach-database-desktop&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://dot.kde.org/2010/06/29/knowledge-different-approach-database-desktop&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="16143" author="howthebodyworks" created="Mon, 26 Jul 2010 14:23:29 +0000"  >&lt;p&gt;My company has written a mongo-native full-text search. Currently supports English - although stemmer commits are welcome. There is also a python library, which has substantial extra functionality because of restrictions on server-side javascript execution. Indexing happens via mapreduce for maximual concurrency. v8 build recommended for speed- our trials report about 4x  speed increase&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/glamkit/mongo-search&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/glamkit/mongo-search&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="16141" author="gf" created="Mon, 26 Jul 2010 14:11:15 +0000"  >&lt;p&gt;&lt;a href=&quot;http://sphinxsearch.com/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://sphinxsearch.com/&lt;/a&gt;&lt;br/&gt;
Sphinx 1.10-beta is out including real-time indexes.&lt;/p&gt;</comment>
                            <comment id="15893" author="rogerbinns" created="Sat, 17 Jul 2010 20:40:13 +0000"  >&lt;p&gt;Another requirement for me not mentioned here is providing information for autocompleting fields in a web interface.&lt;/p&gt;</comment>
                            <comment id="13430" author="djames" created="Mon, 5 Apr 2010 16:27:19 +0000"  >&lt;p&gt;@Nicolas Fouch&#233;: just saw your comment about using treetop to create a query language, so I wanted to share a little code I put together: &lt;a href=&quot;http://github.com/djsun/query_string_filter&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/djsun/query_string_filter&lt;/a&gt; which converts a &apos;filter&apos; param in a query string to a hash suitable for MongoMapper.&lt;/p&gt;</comment>
                            <comment id="13397" author="eliot" created="Fri, 2 Apr 2010 15:37:03 +0000"  >&lt;p&gt;trying to keep 1.5/1.6 very focused on sharding + replica sets.&lt;br/&gt;
will try to get it out asap so we can go back to features like these&lt;/p&gt;</comment>
                            <comment id="11275" author="electic" created="Fri, 4 Dec 2009 01:01:27 +0000"  >&lt;p&gt;If Sphinx does incremental updates, then yes, I believe it is at the top of the pack.&lt;/p&gt;</comment>
                            <comment id="11265" author="gf" created="Thu, 3 Dec 2009 12:41:48 +0000"  >&lt;p&gt;Sphinx rules. The &quot;incremental updates&quot; feature is coming soon.&lt;br/&gt;
Full re-indexing is possible using &quot;xmlpipe2&quot; data-source.&lt;br/&gt;
Live updates will be possible using replication (like MongoNode).&lt;/p&gt;</comment>
                            <comment id="11212" author="eliot" created="Tue, 24 Nov 2009 10:27:40 +0000"  >&lt;p&gt;Most of what you need should be here: &lt;a href=&quot;http://www.mongodb.org/display/DOCS/Replication+Internals&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.mongodb.org/display/DOCS/Replication+Internals&lt;/a&gt;&lt;br/&gt;
the transaction log is a capped collection, so its just a matter of reading from that.&lt;/p&gt;</comment>
                            <comment id="11177" author="eliot" created="Thu, 19 Nov 2009 11:13:47 +0000"  >&lt;p&gt;No licensing issues I believe - certainly not in building yourself.&lt;/p&gt;

&lt;p&gt;The external hook is very easy to get started with.  Very simple to tap into mongo&apos;s replication log and use that for updating indexes.&lt;br/&gt;
I&apos;d love to work with anyone on that.&lt;/p&gt;

&lt;p&gt;Embedding is more complicated.  We just built a module system that allows external modules to be linked in.&lt;br/&gt;
We&apos;re going to be adding more hooks into that, so it would be possible to have a c++ trigger basically.&lt;br/&gt;
That would be a good 2nd level integration.&lt;/p&gt;

&lt;p&gt;the 3rd level would having it be totally built in.  that&apos;s a ways off, and i&apos;m not sure if its something that is needed anyway&lt;/p&gt;</comment>
                            <comment id="11071" author="nicolas_" created="Sun, 8 Nov 2009 18:20:47 +0000"  >&lt;p&gt;I&apos;ve developed my own search feature on MongoDB, with $ft keys. If you store documents with all languages, stemming is too much pain. (language detection, then apply the good stemmer if one can be applied - and sometimes language detection per paragraph/sentence is needed).&lt;/p&gt;

&lt;p&gt;Like Eliot says, if MongoDB embeds a full-text search feature, it should be as minimal as possible. Extract words, convert them to ASCII, remove 1 or 2 characters words, and puts them in an Array key. The more MongoDB does, the more choices they make, and the less use cases they&apos;ll match.&lt;/p&gt;

&lt;p&gt;Stemming can be (kind of) replaced by expanding the query &lt;a href=&quot;http://en.wikipedia.org/wiki/Query_expansion&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://en.wikipedia.org/wiki/Query_expansion&lt;/a&gt; . For that I still wait for the $or feature &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; Query expansion adds more processing at runtime, but makes the database a lot more flexible. No need to migrate data each time you enhance your algorithms for example.&lt;/p&gt;

&lt;p&gt;You build above that a query grammar (with Treetop for example  &lt;a href=&quot;http://treetop.rubyforge.org/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://treetop.rubyforge.org/&lt;/a&gt;), create multiple keys for full text and you have a search engine that supports metadata queries. e.g.: &quot;waterdrop subject:house date:&amp;gt;20090101&quot; And as soon as the $or feature is ready, the user could add OR keywords in their queries (to satisfy one or two of them).&lt;/p&gt;

&lt;p&gt;If anyone is interested, I can write blog articles to describe this solution in depth.&lt;/p&gt;

&lt;p&gt;Of course you don&apos;t have wildcards, phrase search, fuzzy search, nearby search or scoring. But I suppose that if you need this, then you definitely don&apos;t target average users. Take a look at the search feature in Facebook messages powered by Cassandra, it&apos;s horrible (not-english people would understand), it does not even find the same exact words you type in your query... but it&apos;s blazing fast and no-one complains. It seems that Twitter added phrase search recently, Digg did not, neither yammer. As a former Lucene user, I though that I needed all these features, but I discovered that none of our users asked for them, and I do not actually need them to find what I&apos;m looking for. In startups we don&apos;t want to spend 80% of the time to satisfy 1% of our users &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &lt;/p&gt;

&lt;p&gt;For developers needing a featureful search, then why not considering an &quot;external hook&quot; &#224; la CouchDB ?&lt;/p&gt;</comment>
                            <comment id="11042" author="dtl@voxelbrain.com" created="Fri, 30 Oct 2009 13:26:15 +0000"  >&lt;p&gt;I forgot to say, that I&apos;m not talking about of what 10gen should do as a first step &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; Sebastian and I have plans to implement FTS anyway and just want to make sure that we don&apos;t just cover our needs.&lt;/p&gt;</comment>
                            <comment id="11041" author="dtl@voxelbrain.com" created="Fri, 30 Oct 2009 12:59:05 +0000"  >&lt;p&gt;@eliot: That&apos;s why I asked what we can put into the indexes and what could be done in the client implementations/manipulators &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;I&apos;m sure that it is possible to have real full text search in Mongo with a query language that is a superset (doh, a connected word again &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;) of standard queries. We have to find out which parts have to stay in the clients or application layer and what we wanna do in the write/delete ops of the DB. Main &quot;problem&quot; are Mongo indexes - but just if we wanna use them for storage of the entire search indexes. This gets clear if we take a closer look at proximity search but it looks not like a long time blocker to me.&lt;/p&gt;

&lt;p&gt;A first step would be to do exactly what you propose when you talk about Lucene with a Mongo backend - could be any engine with a clean separation of NLA and persistency. The simple search you described earlier would be the &quot;ASCII of search&quot;. This would not deliver the wanted results in languages like French, German ... you name it we have it &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;) IMHO everyone who wants to have non english FTS in Mongo just would not use the simple one because it wouldn&apos;t cover their needs.&lt;/p&gt;</comment>
                            <comment id="11040" author="eliot" created="Fri, 30 Oct 2009 12:35:45 +0000"  >&lt;p&gt;Maybe.&lt;/p&gt;

&lt;p&gt;It could even be clucene with a mongo backend.&lt;br/&gt;
They key is that what&apos;s &quot;builtin&quot; needs to be real time and very efficient. &lt;br/&gt;
So we want to do the minimal work that solves a lot of real world problems.&lt;/p&gt;
</comment>
                            <comment id="11039" author="sef@voxelbrain.com" created="Fri, 30 Oct 2009 12:31:11 +0000"  >&lt;p&gt;@Alan: having integrated search engines several times in the last years I know that every serious search implements at least prefix or infix search alongside with stemming &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;br/&gt;
@Eliot: ok, so you would like the fts in mongodb to be just basic and simple and let the more &apos;fancy&apos; use cases be handled by specialized software such as sphinx/lucene/xapian?&lt;/p&gt;</comment>
                            <comment id="11038" author="eliot" created="Fri, 30 Oct 2009 12:19:57 +0000"  >&lt;p&gt;A lot of it comes down to covering all the basics while keeping it simple and fast.&lt;br/&gt;
Since this will be real time - we need to be very speed aware and really just make sure it covers most use cases.&lt;br/&gt;
While the &quot;water&quot; example is good, I still think its less common and adds almost an oder of magnitude more complexity.&lt;br/&gt;
not saying it can&apos;t happen, just saying probably not for version 1.&lt;/p&gt;

&lt;p&gt;also, while we work on basic full text search inside Mongo, it still might make sense for more adapters to an outside, non-realtime search engine that could be more complex.&lt;/p&gt;</comment>
                            <comment id="11037" author="alanw" created="Fri, 30 Oct 2009 12:14:13 +0000"  >&lt;p&gt;@Sebastian - I would take a look at the Lucene Wildcards (&lt;a href=&quot;http://lucene.apache.org/java/2_3_2/queryparsersyntax.html#Wildcard%20Searches&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://lucene.apache.org/java/2_3_2/queryparsersyntax.html#Wildcard%20Searches&lt;/a&gt;).  This would provide the capability you need (eg. searching for &quot;water*&quot; would find &quot;waterdrop&quot; and &quot;waterbed&quot;)&lt;/p&gt;</comment>
                            <comment id="11036" author="sef@voxelbrain.com" created="Fri, 30 Oct 2009 12:03:30 +0000"  >&lt;p&gt;I don&apos;t think that it is so seldomly needed. Think of things like &apos;waterbed&apos; or &apos;waterdrop&apos; ... as a user I would find it very irritating if I wouldn&apos;t find any of those when I search for &apos;water&apos;.&lt;br/&gt;
And there are languages where connected words are much more common than in english.&lt;br/&gt;
I could give more examples. but I think the above already states my point.&lt;/p&gt;</comment>
                            <comment id="11035" author="eliot" created="Fri, 30 Oct 2009 11:54:19 +0000"  >&lt;p&gt;i don&apos;t think version 1 would have substring matching.&lt;br/&gt;
more like a regular search engine.&lt;/p&gt;

&lt;p&gt;i think that would be a different mode, since its a lot more costly, and not as often needed&lt;/p&gt;</comment>
                            <comment id="11034" author="sef@voxelbrain.com" created="Fri, 30 Oct 2009 11:49:18 +0000"  >&lt;p&gt;hello everyone&lt;br/&gt;
ok, so if you want to have infix search with a minimal infix length of 2 you&apos;ll have an index as follows:&lt;br/&gt;
field: &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;#39;co&amp;#39;, &amp;#39;oo&amp;#39;, &amp;#39;ol&amp;#39;, &amp;#39;coo&amp;#39;, &amp;#39;ool&amp;#39;, &amp;#39;cool&amp;#39;, &amp;#39;st&amp;#39;, &amp;#39;tu&amp;#39;, &amp;#39;uf&amp;#39;, &amp;#39;ff&amp;#39;, &amp;#39;stu&amp;#39;, &amp;#39;tuf&amp;#39;, &amp;#39;uff&amp;#39;, &amp;#39;stuf&amp;#39;, &amp;#39;tuff&amp;#39;, &amp;#39;stuff&amp;#39;&amp;#93;&lt;/span&gt;&lt;br/&gt;
how would you extrapolate word proximity from that?&lt;/p&gt;</comment>
                            <comment id="11033" author="eliot" created="Fri, 30 Oct 2009 11:36:20 +0000"  >&lt;p&gt;the index would just be the words.&lt;br/&gt;
scoring would be after and can be based on proximity, etc...&lt;/p&gt;</comment>
                            <comment id="11032" author="dtl@voxelbrain.com" created="Fri, 30 Oct 2009 11:29:20 +0000"  >&lt;p&gt;@eliot good to know &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; Which data would you put in the index and how would you do the scoring?&lt;/p&gt;</comment>
                            <comment id="11031" author="eliot" created="Fri, 30 Oct 2009 10:16:04 +0000"  >&lt;p&gt;@David - right, that&apos;s what i meant as well&lt;/p&gt;</comment>
                            <comment id="11029" author="dtl@voxelbrain.com" created="Fri, 30 Oct 2009 05:21:45 +0000"  >&lt;p&gt;With distance I mean the distance used in proximity searches not weight.&lt;/p&gt;</comment>
                            <comment id="11027" author="eliot" created="Thu, 29 Oct 2009 20:46:39 +0000"  >&lt;p&gt;I think distance, etc.. can be done on the query side rather than the indexing side.&lt;br/&gt;
a search for &quot;cool stuff&quot;&lt;/p&gt;

&lt;p&gt;1) find &quot;cool&quot;&lt;br/&gt;
2) find &quot;stuff&quot;&lt;br/&gt;
3) find intersection&lt;br/&gt;
4) score that subset&lt;/p&gt;

&lt;p&gt;if its done on the query side can use multiple cores, etc...&lt;/p&gt;</comment>
                            <comment id="11026" author="dtl@voxelbrain.com" created="Thu, 29 Oct 2009 20:38:35 +0000"  >&lt;p&gt;@alan: I guess it would be harder to use Mongo replication/sharding facilities if the queries are not just plain Mongo queries but I&apos;m not sure about this. The important functionality of the FTS engine is the analysis/transformation of the input data ... could be wrong on this but querying should be left to Mongo and therefore the &quot;query language&quot; of Mongo should be used. Combined with map/reduce this would be very powerfull. The transformation from a high level query language to regular Mongo queries or map/reduce should be in the application layer or maybe better in the language specific driver.&lt;/p&gt;

&lt;p&gt;@raj: If the FTS uses Mongo indexes, the penalty is payed while inserting/deleting a doc. The index is up-to-date after the successful insert/delete. It&apos;s the same with the standard indexes. Fulltext indexes for collections that have high insert/delete rates are even more counterproductive as regular indexes because of the nature of natural language analysis algorithms. This should get even worse if word distance is part of the feature set.&lt;/p&gt;

&lt;p&gt;Maybe I&apos;m thinking to complicated and a simple OR based prefix-, infix- and postfix-keyword-search with snowball stemming for the easy stemmable languages would be fine for 99% of Mongos users. Will ask that in #mongodb if I find time.&lt;/p&gt;</comment>
                            <comment id="11025" author="electic" created="Thu, 29 Oct 2009 18:41:56 +0000"  >&lt;p&gt;These are all good suggestions, but what would be the latency from time to insert to time in ft index? I mean what is the ideal latency?&lt;/p&gt;</comment>
                            <comment id="11024" author="alanw" created="Thu, 29 Oct 2009 18:40:04 +0000"  >&lt;p&gt;Wouldn&apos;t the query follow the Lucene query syntax? (&lt;a href=&quot;http://lucene.apache.org/java/2_3_2/queryparsersyntax.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://lucene.apache.org/java/2_3_2/queryparsersyntax.html&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;It might also be useful to search specified fields (also described in the Lucene syntax)...&lt;/p&gt;

&lt;p&gt;db.foo.find( &lt;/p&gt;
{ $ft : &quot;title:cool AND title:stuff&quot; }
&lt;p&gt; ) &lt;/p&gt;

&lt;p&gt;db.foo.find( &lt;/p&gt;
{ $ft : &quot;title:cool OR test:stuff&quot; }
&lt;p&gt; ) &lt;/p&gt;

&lt;p&gt;At least in the first version?&lt;/p&gt;

&lt;p&gt;In future versions, indexing could be expanded to perhaps allow specifying language analysers (useful when stemming)...&lt;/p&gt;

&lt;p&gt;db.foo.ensureIndex( &lt;/p&gt;
{ title : 1 }
&lt;p&gt; , &lt;/p&gt;
{ fullTextSearch : true }
&lt;p&gt; , &lt;/p&gt;
{ textAnalyzer : standard }
&lt;p&gt; ) &lt;br/&gt;
db.foo.ensureIndex( &lt;/p&gt;
{ title : 1 }
&lt;p&gt; , &lt;/p&gt;
{ fullTextSearch : true }
&lt;p&gt; , &lt;/p&gt;
{ textAnalyzer : snowball }
&lt;p&gt;, &lt;/p&gt;
{ textLanguage : German }
&lt;p&gt; ) &lt;/p&gt;</comment>
                            <comment id="11023" author="dtl@voxelbrain.com" created="Thu, 29 Oct 2009 17:42:21 +0000"  >&lt;p&gt;sry, mixed up manipulator with modifiers ^^ corrected in my previous comment&lt;/p&gt;

&lt;p&gt;i don&apos;t see how a simple {$ft: &quot;something keyword like&quot;} could help me in finding docs if i have more than one ftindex.&lt;/p&gt;

&lt;p&gt;a keyword search could/should be something like the $or query in &lt;a href=&quot;#SERVER-205&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SERVER-205&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;{$ft: {title: &lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;quot;keyword&amp;quot;, &amp;quot;search&amp;quot;&amp;#93;&lt;/span&gt;}} &lt;/p&gt;</comment>
                            <comment id="11021" author="eliot" created="Thu, 29 Oct 2009 15:29:14 +0000"  >&lt;p&gt;keywork search&lt;br/&gt;
so &quot;cool stuff&quot;  would look up matches for cool, and stuff, and then intersection, scoring, etc...&lt;br/&gt;
could eventually go into a query language, but not initally probably&lt;/p&gt;</comment>
                            <comment id="11020" author="dtl@voxelbrain.com" created="Thu, 29 Oct 2009 15:25:42 +0000"  >&lt;p&gt;@eliot maybe i got it wrong. &lt;/p&gt;

&lt;p&gt;{$ft: &quot;cool stuff&quot;} means phrase-, key-search or query language?&lt;/p&gt;


</comment>
                            <comment id="11019" author="eliot" created="Thu, 29 Oct 2009 14:52:19 +0000"  >&lt;p&gt;@david Not sure what you mean my that?  &lt;/p&gt;</comment>
                            <comment id="11018" author="dtl@voxelbrain.com" created="Thu, 29 Oct 2009 14:49:52 +0000"  >&lt;p&gt;@eliot yep, that&apos;s what i wanted to say &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.mongodb.org/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; &lt;/p&gt;

&lt;p&gt;what do you think about the idea of implementing the query parser as a client side manipulator? &lt;/p&gt;</comment>
                            <comment id="11017" author="alanw" created="Thu, 29 Oct 2009 13:53:15 +0000"  >&lt;p&gt;Eliot - that looks good.&lt;/p&gt;

&lt;p&gt;Adding full text searching to MongoDB and making it as easy to use as you&apos;ve described would be fantastic!&lt;/p&gt;</comment>
                            <comment id="11010" author="eliot" created="Thu, 29 Oct 2009 10:02:43 +0000"  >&lt;p&gt;I think the right way to do this is the following.&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;make the db take:  db.foo.ensureIndex( 
{ title : 1 }
&lt;p&gt; , &lt;/p&gt;
{ fullTextSearch : true }
&lt;p&gt; )&lt;br/&gt;
                                     db.foo.ensureIndex( &lt;/p&gt;
{ title : 1 , test : .2 }
&lt;p&gt; , &lt;/p&gt;
{ fullTextSearch : true }
&lt;p&gt; )&lt;/p&gt;&lt;/li&gt;
	&lt;li&gt;modify the indexing code to use clucene (or whichever) engine from tokenzing, stemming, and put those in the index&lt;/li&gt;
	&lt;li&gt;query would be something like:  db.foo.find( 
{ $ft : &quot;cool stuff&quot; }
&lt;p&gt; )&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="11007" author="dtl@voxelbrain.com" created="Thu, 29 Oct 2009 07:21:12 +0000"  >&lt;p&gt;If Mongo gets integrated full text search (FTS), then it should be as light and concise as the existing index functionality. This means, that I&apos;m strongly opposed to any kind of schema except it is as small and simple like the ones used for indexes and unique indexes. If we design it with the regular indexes in mind we could assume two things: it is only useful on text fields and the ordering of the index is less important. The &quot;order&quot;-parameter in the index creation/ensuring call could be used for a weight value if we want to recycle the regular index creation mechanics. We could use an option &quot;fulltext&quot; as we do right now for &quot;unique&quot;. The performance tradeoffs when using FTS should be documented like it already is for indexes and unique indexes. The inclusion of documents in the index should be triggered by existence and type check for the index fields on the document to write/update.&lt;/p&gt;

&lt;p&gt;After looking at Sphinx &lt;a href=&quot;http://www.sphinxsearch.com/docs/current.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.sphinxsearch.com/docs/current.html&lt;/a&gt;, Xapian &lt;a href=&quot;http://xapian.org/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://xapian.org/&lt;/a&gt; and CLucene &lt;a href=&quot;http://sourceforge.net/projects/clucene/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://sourceforge.net/projects/clucene/&lt;/a&gt; it seems that CLucene is the most flexible. Correct me if I&apos;m wrong but neither Sphinx nor Xapian support custom persistency implementations. Even if we could store the index files of those two engines in GridFS this should not be the way to go. Mongo is an extremely fast database and progresses in light speed when it comes to features for easy replication and usage in cluster architectures. Any other persistency mechanism used for data that could also be stored in Mongo just increases complexity of the setup and brings new and unnecessary problems for both, the developers and users of Mongo. Using Mongo as persistency layer would ensure the availability of its features for clustering (sharding and map/reduce). &lt;/p&gt;

&lt;p&gt;When it comes to the feature set, stemming, keyword search and phrase search are absolutely necessary. The querying mechanics should not include any parsing of fancy search input IMHO but use the Mongo $opcodes. Query languages should also be a part of its own and can be integrated in the language specific drivers via the manipulator mechanics. A simple query parser could be shipped with the Mongo sources and driver providers could use it via the language specific foreign language interface or wrapper builders like SWIG &lt;a href=&quot;http://www.swig.org/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.swig.org/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It would be nice if we isolate the parts of FTS that are necessary to build a common infrastructure for FTS integration into Mongo. As mentioned by Alan Wright, CLucene has a clean separation of FTS and persistency and therefore could be a good starting point for our efforts. A common infrastructure would help everybody interested in integrating his or her preferred full text search engine.&lt;/p&gt;</comment>
                            <comment id="10980" author="richard" created="Thu, 22 Oct 2009 20:04:49 +0000"  >&lt;p&gt;Hi - Xapian developer here, and Mongo DB enthusiast (though I&apos;ve not had an excuse to play with it in anger yet).  I&apos;d like to help make a tight integration between Xapian and MongoDB, if there&apos;s interest in it.  I&apos;m not quite sure what the best approach for linking would be, though.&lt;/p&gt;

&lt;p&gt;Xapian certainly supports &quot;realtime&quot; updates in the sense described above.  It also has some features in trunk for supporting replication of the index, which might be helpful when working with MongoDB.&lt;/p&gt;

&lt;p&gt;One basic approach would be to hook into the updates in Mongo somehow, and send them across to a parallel Xapian index for full-text indexing.  I think this would be best done by defining some kind of schema, though: often, when searching, you want to search across a fairly complex set of fields (a common example is to search across both title fields and content fields, but to boost the importance of the title fields - but in real world search situations, you often come up with much more complex requirements).  A naive mapping of a particular field in Mongo to a search index would allow basic search, but we can do much better than that, I think.&lt;/p&gt;

&lt;p&gt;There are also things like thesaurus entries and spelling correction, which you would want to be able to configure somehow.&lt;/p&gt;

&lt;p&gt;Mongo doesn&apos;t really have schemas yet, IIRC, so I&apos;m not sure how the Mongo developers would feel about adding that sort of context.&lt;/p&gt;

&lt;p&gt;When defining searches, Xapian has a built-in and flexible query parser (which is aimed at parsing queries entered into a search box by the average untrained user, so supports some structure (eg, field:value), but copes with any random input in a sane way).  It can also have structured searches built up, and combined with the output of parsing several user inputs, so a mapping from a Mongo-style query to a Xapian search could be defined to limit Mongo results.&lt;/p&gt;

&lt;p&gt;Xapian also has things called &quot;External Posting Sources&quot; which are arbitrary C++ classes (subclassing a Xapian::PostingSource class), which can be used to perform combined searches across data stored in the Xapian index, and external data.  (A &quot;posting source&quot; in search engine terminology is a list of documents matching a particular word (or term) and is the fundamental piece of data stored in a search engine index.)  This could be used to limit searches to documents matching a MongoDB query pretty efficiently, without having to store extra data in Xapian.&lt;/p&gt;</comment>
                            <comment id="10974" author="alanw" created="Thu, 22 Oct 2009 05:26:42 +0000"  >&lt;p&gt;I would put forward that a better candidate for full-text search would be CLucene (&lt;a href=&quot;http://clucene.sourceforge.net/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://clucene.sourceforge.net/&lt;/a&gt;) - a C++ port of the popular java Lucene engine.&lt;/p&gt;

&lt;p&gt;Storing the index inside MongoDB would be a simple case of overriding the lucene::store::Directory class to point to MongoDB instead of the file-system.&lt;/p&gt;</comment>
                            <comment id="10973" author="electic" created="Thu, 22 Oct 2009 01:26:52 +0000"  >&lt;p&gt;I guess what I meant by realtime is the full-text engine needs to allow &quot;incremental updates&quot; to the full-text index. If it has to re-index stuff over and over again like Sphinx that is really taxing on the CPU and increases latency drastically under high load environments.&lt;/p&gt;</comment>
                            <comment id="10972" author="jjh" created="Thu, 22 Oct 2009 01:13:22 +0000"  >&lt;p&gt;I brought up Xapian (&lt;a href=&quot;http://xapian.org&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://xapian.org&lt;/a&gt;) on the mongodb-users list as a possible library for use:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://xapian.org/features&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://xapian.org/features&lt;/a&gt;&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Written in C++, so would probably work well with MongoDB&lt;/li&gt;
	&lt;li&gt;Has keyword searching&lt;/li&gt;
	&lt;li&gt;Phrase searching&lt;/li&gt;
	&lt;li&gt;boolean logic&lt;/li&gt;
	&lt;li&gt;stemming&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;As for &apos;real-time&apos; I would suspect its as real-time as any other full text search library.&lt;/p&gt;

&lt;p&gt;I have no opinion on whether this should be used or not, it just sounded like a possible good match with mongodb.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="12799">SERVER-1635</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>124.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10038"><![CDATA[Fully Compatible]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 22 Oct 2009 01:13:22 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        10 years, 42 weeks, 2 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>luke.bonanomi@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            10 years, 42 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>walec51</customfieldvalue>
            <customfieldvalue>alainc</customfieldvalue>
            <customfieldvalue>alanw</customfieldvalue>
            <customfieldvalue>plasma</customfieldvalue>
            <customfieldvalue>apgdb</customfieldvalue>
            <customfieldvalue>artem</customfieldvalue>
            <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>chengas123</customfieldvalue>
            <customfieldvalue>bkostadinovic</customfieldvalue>
            <customfieldvalue>bryangreen</customfieldvalue>
            <customfieldvalue>howthebodyworks</customfieldvalue>
            <customfieldvalue>dan@mongodb.com</customfieldvalue>
            <customfieldvalue>djames</customfieldvalue>
            <customfieldvalue>dlee</customfieldvalue>
            <customfieldvalue>dtl@voxelbrain.com</customfieldvalue>
            <customfieldvalue>eliot</customfieldvalue>
            <customfieldvalue>klondike</customfieldvalue>
            <customfieldvalue>felixgao</customfieldvalue>
            <customfieldvalue>georges.polyzois@gmail.com</customfieldvalue>
            <customfieldvalue>gerhardb</customfieldvalue>
            <customfieldvalue>gf</customfieldvalue>
            <customfieldvalue>glenn</customfieldvalue>
            <customfieldvalue>wonderman</customfieldvalue>
            <customfieldvalue>jjh</customfieldvalue>
            <customfieldvalue>jbergstroem</customfieldvalue>
            <customfieldvalue>rassi</customfieldvalue>
            <customfieldvalue>hbf</customfieldvalue>
            <customfieldvalue>marians</customfieldvalue>
            <customfieldvalue>mlen</customfieldvalue>
            <customfieldvalue>mikejs</customfieldvalue>
            <customfieldvalue>mitchitized</customfieldvalue>
            <customfieldvalue>nicolas_</customfieldvalue>
            <customfieldvalue>darkstar</customfieldvalue>
            <customfieldvalue>electic</customfieldvalue>
            <customfieldvalue>randolph@mongodb.com</customfieldvalue>
            <customfieldvalue>rgpublic</customfieldvalue>
            <customfieldvalue>richard</customfieldvalue>
            <customfieldvalue>djfobbz</customfieldvalue>
            <customfieldvalue>robfromboulder</customfieldvalue>
            <customfieldvalue>rogerbinns</customfieldvalue>
            <customfieldvalue>rubo</customfieldvalue>
            <customfieldvalue>sef@voxelbrain.com</customfieldvalue>
            <customfieldvalue>skall.paul@gmail.com</customfieldvalue>
            <customfieldvalue>steve.schlotter</customfieldvalue>
            <customfieldvalue>tegan</customfieldvalue>
            <customfieldvalue>tshawkins</customfieldvalue>
            <customfieldvalue>trbs</customfieldvalue>
            <customfieldvalue>turneliusz</customfieldvalue>
            <customfieldvalue>us</customfieldvalue>
            <customfieldvalue>vilhelmk</customfieldvalue>
            <customfieldvalue>shadowman131</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrpv5j:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hric5b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>20619</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10166" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Tests Written</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10154"><![CDATA[Complete]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hsqso7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>