[Open search product evaluation ]--
Taodiandian: Based on opensearch, it is easy to implement a complete o2o search solution
[Background]
Our taodiandian team should be the first group to use opensearch to build applications on the Intranet. Before that, we have been using a Lucene-based engine platform in the group. For specific sorting requirements of taodiandian, this team is required to cooperate with the upgrade and maintain them together. At the beginning of the year, the group launched isearch5, and then saw opensearch, an open search platform based on isearch5. What makes us most happy is that sorting supports formula, so that we can write the sort expression by ourselves and dynamically adjust the sort parameters, the simple sentence "Sort = rank" can make the custom sorting take effect, which is convenient.
[Procedure]
In fact, opensearch is really quick to get started. Take a look at the help documentation on the official website, create an application, define the index structure, and call the SDK provided by the app to quickly build a search service. Of course, there will also be many detailed issues and requirements during the period, which can be quickly solved through the opensearch team's siblings. At the same time, opensearch provides a variety of sorting and filtering policies that are fully customized, allowing us to display multiple dimensions on the product. You only need to modify the query statement at the underlying layer, which is very convenient.
[Tips]
For take-out scenarios, You need to filter and judge the take-out capability based on the seller's delivery range. The opensearch team also launched the in_polygon plug-in, which only requires the seller to mark the delivery range on the map, the multi-value double field area_values converted to opensearch. When querying, in_polygon (Lat, Lon, area_values) is called, where lat \ lon is the current user coordinate, you can only display the list of merchants that can be delivered to the user's specified location on the interface.
Sorting by distance or filtering should be inevitable for o2o search. opensearch also provides the distinct function, which can be used in filter, sort, and sort expressions, filter, sort, or calculate the weighted distance.
Another difficulty is that the aggregation function based on dishes and coupons. For example, there are multiple dishes and coupons in the store dimension, and the display needs to be optimized to the optimal one based on several conditions, however, it is necessary to display the total entries, which can be well implemented through the aggregate and distinct clauses. However, when data is joined in multiple tables, the logic and data are redundant, and some badcases may occur, at present, we want to optimize this point.
Other features include automatic filtering by delivery time, sorting by delivery fee, etc. opensearch currently supports filtering in the business area. I believe Taobao will become more and more powerful.
?
[Comments and suggestions]
Now, I think there are several improvements to opensearch:
1. Real-time update speed: Now the doc can be updated within 1 minute. This is unfriendly for some scenarios with high real-time requirements. The opensearch team is pushing real-time updates within seconds and is expected to use them quickly;
Opensearch: updates are under development in seconds and will be available soon.
2. the updated Doc can be pushed through API, but the pushed doc does not have the concept of Timestamp, which requires us to ensure that the pushed Doc is in order, in this way, the push Doc can only be performed on a single machine. For cases with high QPS, we hope to use multiple machines. Because of the timestamp, the bottom layer of the engine can sort the doc in order;
Opensearch answer: this function is being planned and will be available soon.
[Summary]
In short, the use of opensearch is still very satisfactory, the response speed is very good, some details can be resolved in a timely manner, for o2o search scenarios have also provided a complete set of solutions. It also greatly saves our O & M costs, and does not need to worry about machine problems when the QPS burst during an activity. So far, openseach-based takeout search was launched in March, and coupon search, dish search, food album, and public search were launched in succession.
We hope that the better opensearch is, the more convenience it brings to us.
Taobao: http://www.taobao.com/market/dd/index.php
Weibo interactive address: http://weibo.com/1644971875/Bj9KhesC3? MoD = weibotime